Re: who can help with my login credentials to https://identity.linuxfoundation.org?
Atul <atul7911@...>
Hi Perez
I tried this , changed my password as avaish123 , logged out and now same problem again . Actually I am also trying to access gerrit.linuxfoundation.org, but meet the same issue . Could you try from your side and see if you are able to login ? I am using Firefox and Chrome as browser . On Fri, May 13, 2016 at 11:37 PM, Perez Hernandez, Javier B < javier.b.perez.hernandez(a)intel.com> wrote: Hi! -- Atul Vaish Contact: 9717110016
|
|
Re: Is gerrit.zephyrproject.org/ssh_info DOWN ?
Milind Deore <tomdeore@...>
Thanks Javier for quick response.
But i have a valid LFID and uploaded valid id_rsa.pub key to gerrit "SSH Public Key" section. Then i thought of ping the ssh server: ssh -p 29418 <my LFID>@gerrit.zephyrproject.org Agent admitted failure to sign using the key. Permission denied (publickey). I am developing inside virtual box, if that is causing any problem?
|
|
Re: who can help with my login credentials to https://identity.linuxfoundation.org?
Perez Hernandez, Javier B <javier.b.perez.hernandez@...>
toggle quoted messageShow quoted text
On Fri, 2016-05-13 at 10:05 +0000, Atul Vaish wrote:
new to zephyr ,created login to linuxfoundation.org, logout and
|
|
Re: Is gerrit.zephyrproject.org/ssh_info DOWN ?
Perez Hernandez, Javier B <javier.b.perez.hernandez@...>
Hi!
toggle quoted messageShow quoted text
Maybe this can help. https://www.zephyrproject.org/doc/contribute/gerrit_accounts.html Regards Javier B. Perez
On Fri, 2016-05-13 at 17:55 +0000, Milind Deore wrote:
I am trying to clone using ssh but not able to. I am trying the same
|
|
Is gerrit.zephyrproject.org/ssh_info DOWN ?
Milind Deore <tomdeore@...>
I am trying to clone using ssh but not able to. I am trying the same process which is mentioned on page: https://gerrit.zephyrproject.org/r/Documentation/user-upload.html#ssh
milind(a)milind-VirtualBox:~$ curl http://gerrit.zephyrproject.org/ssh_info <html> <head><title>301 Moved Permanently</title></head> <body bgcolor="white"> <center><h1>301 Moved Permanently</h1></center> <hr><center>nginx/1.8.1</center> </body> </html> -- Regards Milind
|
|
Daily JIRA Digest
donotreply@...
NEW JIRA items within last 24 hours: 5
[ZEP-317] Send datagrams over UDP sockets to an arbitrary address and port, without requiring the socket to know about specific remote addresses. https://jira.zephyrproject.org/browse/ZEP-317 [ZEP-318] Provide single point of notification for new data on multiple sockets. https://jira.zephyrproject.org/browse/ZEP-318 [ZEP-319] IOVec-like API to send and receive to/from UDP sockets. https://jira.zephyrproject.org/browse/ZEP-319 [ZEP-315] Do not use printf in kernel code https://jira.zephyrproject.org/browse/ZEP-315 [ZEP-312] kernel doc need update for mmap https://jira.zephyrproject.org/browse/ZEP-312 UPDATED JIRA items within last 24 hours: 5 [ZEP-238] Usage of ARCH in application Makefiles is misleading https://jira.zephyrproject.org/browse/ZEP-238 [ZEP-314] Update QMSI drivers to 1.1 alpha https://jira.zephyrproject.org/browse/ZEP-314 [ZEP-301] Update Arduino 101 documentation for usage with dfu-utls https://jira.zephyrproject.org/browse/ZEP-301 [ZEP-316] DHT11/DHT22 Sensors https://jira.zephyrproject.org/browse/ZEP-316 [ZEP-221] [drivers/nble][PTS_TEST] Implement Execute Write Request handler https://jira.zephyrproject.org/browse/ZEP-221 CLOSED JIRA items within last 24 hours: 0 RESOLVED JIRA items within last 24 hours: 2 [ZEP-297] (Fixed) Consolidate and simplify I2C driver configuration options https://jira.zephyrproject.org/browse/ZEP-297 [ZEP-149] (Fixed) Online documentation for kconfig variables overlaps https://jira.zephyrproject.org/browse/ZEP-149
|
|
Daily Gerrit Digest
donotreply@...
NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/2003 : nano_work: Make SYSTEM_WORKQUEUE select NANO_WORKQUEUE - https://gerrit.zephyrproject.org/r/2004 : nano_work: Add nano_work_init - https://gerrit.zephyrproject.org/r/2002 : nano_work: Convert nano_work_submit to a macro - https://gerrit.zephyrproject.org/r/2001 : doc: arduino 101: adapt documentation for DFU flashing - https://gerrit.zephyrproject.org/r/2005 : sensor: add support for BME280 - https://gerrit.zephyrproject.org/r/2000 : samples/net: Delete symbolic link - https://gerrit.zephyrproject.org/r/1996 : nios2: crt0: split into __start and __text_start - https://gerrit.zephyrproject.org/r/1995 : nios2: add arch/nios2/soc/<soc>/include to linker include path - https://gerrit.zephyrproject.org/r/1997 : nios2: set initial stack pointer to the interrupt stack - https://gerrit.zephyrproject.org/r/1998 : WIP UPDATED within last 24 hours: - https://gerrit.zephyrproject.org/r/1868 : sensor: remove unnecessary return variables - https://gerrit.zephyrproject.org/r/1867 : sensor: add support for *_ANY get channel - https://gerrit.zephyrproject.org/r/1871 : Bluetooth: Get the included service 128bit UUID - https://gerrit.zephyrproject.org/r/1766 : net: buf: Add net_buf_pull_le32() helper API - https://gerrit.zephyrproject.org/r/1584 : samples: adds task_profiler application, code and scripts - https://gerrit.zephyrproject.org/r/1880 : Bluetooth: L2CAP: Handle information response command on BR/EDR - https://gerrit.zephyrproject.org/r/1994 : sensors: add driver for DHTxx sensors - https://gerrit.zephyrproject.org/r/1876 : build: Do not depend on python while creating the relative path - https://gerrit.zephyrproject.org/r/1963 : i2c: disable/enable interrupts before entering critical regions. - https://gerrit.zephyrproject.org/r/1961 : spi: disable/enable interrupts before entering critical regions. MERGED within last 24 hours: - https://gerrit.zephyrproject.org/r/1879 : Bluetooth: L2CAP: Handle information request command on BR/EDR - https://gerrit.zephyrproject.org/r/1878 : net: buf: Add net_buf_add_le32() helper API - https://gerrit.zephyrproject.org/r/1855 : nanokernel: Introduce workqueue API - https://gerrit.zephyrproject.org/r/1922 : tests: Add nano_work test - https://gerrit.zephyrproject.org/r/1923 : sensor: Rework core to use workqueue API - https://gerrit.zephyrproject.org/r/1920 : spi: use syslog infratructure for debugging - https://gerrit.zephyrproject.org/r/1992 : drivers/nble: Call bt_conn_security() on start pairing event - https://gerrit.zephyrproject.org/r/1991 : drivers/nble: Implement bt_smp_auth_cancel()
|
|
who can help with my login credentials to https://identity.linuxfoundation.org?
Atul <atul7911@...>
new to zephyr ,created login to linuxfoundation.org, logout and enter the username , password says invalid password.. tried multiple times
|
|
Re: Zephyr sdks builds in jenkins?
Nashif, Anas
Kumar,
toggle quoted messageShow quoted text
This is currently being worked on. There is an issue with the host OS where the yocto build is not completing the build. Anas
On 12/05/2016, 16:52, "Kumar Gala" <kumar.gala(a)linaro.org> wrote:
Are there continuous builds of the SDK in jenkins? Not seeing anything and was hoping to grab a “nightly” snapshot out of there.
|
|
Zephyr sdks builds in jenkins?
Kumar Gala
Are there continuous builds of the SDK in jenkins? Not seeing anything and was hoping to grab a “nightly” snapshot out of there.
- k
|
|
Daily JIRA Digest
donotreply@...
NEW JIRA items within last 24 hours: 0
UPDATED JIRA items within last 24 hours: 4 [ZEP-67] building a Zephyr app out of tree puts some files in wrong place https://jira.zephyrproject.org/browse/ZEP-67 [ZEP-177] Windows build with MinGW https://jira.zephyrproject.org/browse/ZEP-177 [ZEP-145] no 'make flash' for Arduino Due https://jira.zephyrproject.org/browse/ZEP-145 [ZEP-303] checkpatch should be more lenient about the length of kconfig help sections https://jira.zephyrproject.org/browse/ZEP-303 CLOSED JIRA items within last 24 hours: 1 [ZEP-85] (Fixed) build failure of public event handler defined within application MDEF file https://jira.zephyrproject.org/browse/ZEP-85 RESOLVED JIRA items within last 24 hours: 2 [ZEP-53] (Fixed) enable kernel_event_logger on ARC https://jira.zephyrproject.org/browse/ZEP-53 [ZEP-217] (Fixed) Galileo ADC/SPI initialization error https://jira.zephyrproject.org/browse/ZEP-217
|
|
Daily Gerrit Digest
donotreply@...
NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/1994 : sensors: add driver for DHTxx sensors - https://gerrit.zephyrproject.org/r/1993 : drivers/nble: Add timeout before Conn Param Update as Peripheral - https://gerrit.zephyrproject.org/r/1974 : arc: Add linker command file for Harvard architecture - https://gerrit.zephyrproject.org/r/1982 : tinycrypt: Fix discrepancy of ecc_make_key definition and declaration UPDATED within last 24 hours: - https://gerrit.zephyrproject.org/r/1584 : Added profiler application and scripts - https://gerrit.zephyrproject.org/r/1922 : tests: Add nano_work test - https://gerrit.zephyrproject.org/r/1855 : nanokernel: Introduce workqueue API - https://gerrit.zephyrproject.org/r/1815 : net: buf: Add tests for net_buf fragmentation - https://gerrit.zephyrproject.org/r/1923 : sensor: Rework core to use workqueue API - https://gerrit.zephyrproject.org/r/1880 : Bluetooth: L2CAP: Handle information response command on BR/EDR - https://gerrit.zephyrproject.org/r/1878 : net: buf: Add net_buf_add_le32() helper API - https://gerrit.zephyrproject.org/r/1971 : Bluetooth: L2CAP: Refactor l2cap_chan_get() in l2cap.c - https://gerrit.zephyrproject.org/r/1879 : Bluetooth: L2CAP: Handle information request command on BR/EDR - https://gerrit.zephyrproject.org/r/1766 : net: buf: Add net_buf_pull_le32() helper API - https://gerrit.zephyrproject.org/r/1961 : spi: disable/enable interrupts before entering critical regions. - https://gerrit.zephyrproject.org/r/1963 : i2c: disable/enable interrupts before entering critical regions. - https://gerrit.zephyrproject.org/r/1903 : arm: Add support for Nordic Semiconductor's nRF52 series of ICs - https://gerrit.zephyrproject.org/r/1907 : frdm_k64f: add flash target using openocd - https://gerrit.zephyrproject.org/r/1962 : samples/net/loopback: Add helper functions to handle app data MERGED within last 24 hours: - https://gerrit.zephyrproject.org/r/1992 : drivers/nble: Call bt_conn_security() on start pairing event - https://gerrit.zephyrproject.org/r/1991 : drivers/nble: Implement bt_smp_auth_cancel() - https://gerrit.zephyrproject.org/r/1990 : doc: arduino101: change kconfig option for GDB debugging - https://gerrit.zephyrproject.org/r/1976 : add a new option for debugging quark se - https://gerrit.zephyrproject.org/r/1978 : samples: get rid of obsolete usage of ARCH variable - https://gerrit.zephyrproject.org/r/1988 : drivers/nble: Notify about updated connection parameters - https://gerrit.zephyrproject.org/r/1987 : drivers/nble: Update connection parameters on_nble_gap_connect_evt - https://gerrit.zephyrproject.org/r/1986 : drivers/nble: Add bt_conn_le_param_update implementation - https://gerrit.zephyrproject.org/r/1989 : Bluetooth: SMP: Minor coding style fixes - https://gerrit.zephyrproject.org/r/1984 : drivers/nble: Move bt_le_conn_params_valid function - https://gerrit.zephyrproject.org/r/1985 : drivers/nble: Store new connection parameters - https://gerrit.zephyrproject.org/r/1983 : drivers/nble: Fix setting connection role - https://gerrit.zephyrproject.org/r/1981 : Bluetooth: Add comment clarifying condition check in bt_le_adv_start - https://gerrit.zephyrproject.org/r/1980 : drivers/nble: Implement on_nble_gatts_write_exec_evt() - https://gerrit.zephyrproject.org/r/1979 : drivers/nble: Fix passing uninitialized req parameters - https://gerrit.zephyrproject.org/r/1977 : i2c: IC_CON_SPEED_MASK should be 2 bit mask - https://gerrit.zephyrproject.org/r/1975 : net/ip: Fix Makefile typo - https://gerrit.zephyrproject.org/r/1973 : checkpatch: change default kconfig help length warns - https://gerrit.zephyrproject.org/r/1924 : grove: add temperature sensor - https://gerrit.zephyrproject.org/r/1884 : grove: add light sensor - https://gerrit.zephyrproject.org/r/1910 : aio: unify kconfig variables and make them consistent - https://gerrit.zephyrproject.org/r/1911 : adc: unify kconfig variables and make them consistent - https://gerrit.zephyrproject.org/r/1909 : rtc: unify kconfig variable names - https://gerrit.zephyrproject.org/r/1919 : spi: consalidate and simplify - https://gerrit.zephyrproject.org/r/1913 : spi: intel: move soc specific values to header file - https://gerrit.zephyrproject.org/r/1901 : gpio: GPIO_DW_BOTHEDGES_SUPPORT unused - https://gerrit.zephyrproject.org/r/1931 : eth_dw: use sys log interface for debugging - https://gerrit.zephyrproject.org/r/1932 : device: add documentation for device_get_binding - https://gerrit.zephyrproject.org/r/1914 : spi: remove kconfig variables that can be define in headers - https://gerrit.zephyrproject.org/r/1900 : i2c: unify kconfig options and share them across drivers - https://gerrit.zephyrproject.org/r/1920 : spi: use syslog infratructure for debugging - https://gerrit.zephyrproject.org/r/1902 : gpio: use consistent names for IRQ priority variables - https://gerrit.zephyrproject.org/r/1908 : watchdog: unify kconfig variables - https://gerrit.zephyrproject.org/r/1570 : Bluetooth: tester: Add Kconfig for nimble stack - https://gerrit.zephyrproject.org/r/1954 : Bluetooth: L2CAP: Enable handle BR/EDR signal channel traffic - https://gerrit.zephyrproject.org/r/1951 : Bluetooth: L2CAP: Introduce internal BR/EDR connection L2CAP notifier API - https://gerrit.zephyrproject.org/r/1952 : Bluetooth: L2CAP: Move bt_l2cap_br_fixed_chan_register() to l2cap_br.c - https://gerrit.zephyrproject.org/r/1953 : Bluetooth: L2CAP: Implement bt_l2cap_br_connected() notifier - https://gerrit.zephyrproject.org/r/1950 : Bluetooth: L2CAP: Move init BR/EDR pool signal buffers to l2cap_br.c - https://gerrit.zephyrproject.org/r/1582 : qemu: Add possibility to redirect serial port to pseudo TTY - https://gerrit.zephyrproject.org/r/1583 : kernel event profiler: add dynamic enable/disable/configure - https://gerrit.zephyrproject.org/r/1578 : Add interrupt stub label for profiler (interrupt event) - https://gerrit.zephyrproject.org/r/1577 : Set kernel event logger timestamps to HW cycles - https://gerrit.zephyrproject.org/r/1964 : i2c: fix i2c_dw.c to have correct decl for i2c_dw_isr() - https://gerrit.zephyrproject.org/r/1965 : quark_se_devboard: Update flash and debug openocd configuration - https://gerrit.zephyrproject.org/r/1959 : kernel: add _IS_IDLE_TASK() - https://gerrit.zephyrproject.org/r/1940 : galileo: set priority of ADC to 95 - https://gerrit.zephyrproject.org/r/1972 : Bluetooth: SMP: Fix ecc_make_key return code check - https://gerrit.zephyrproject.org/r/1958 : openocd: enable cmsis-dap, jlink, stlink interfaces - https://gerrit.zephyrproject.org/r/1957 : hosttools-tarball: Add hidapi-libusb - https://gerrit.zephyrproject.org/r/1956 : hidapi-libusb: HIDAPI library for OpenOCD - https://gerrit.zephyrproject.org/r/1955 : zephyr-sdk.inc: Update tested distros. - https://gerrit.zephyrproject.org/r/1970 : Bluetooth: GATT: Remove authorization permission - https://gerrit.zephyrproject.org/r/1969 : Bluetooth: Omit implicit permission flags - https://gerrit.zephyrproject.org/r/1936 : doc: use table for Kconfig option reference
|
|
RFC: draft x86 interrupt documentation
Boie, Andrew P
I had a recent need to explain in detail the x86 IRQ implementation to
some colleagues working on Quark CPUs, and wrote this document. Eventually I would like to clean this up, discuss other arches, and make it part of the official Zephyr documentation. Comments appreciated. ##### 1. APIs Overview of the interrupt API in Zephyr can be found here: https://nexus.zephyrproject.org/content/sites/site/org.zephyrproject.zephyr/latest/kernel/nanokernel/nanokernel_interrupts.html Note that Zephyr currently only officially supports static registration of interrupts at build time. We used to also support dynamic IRQs which are wired at runtime, but this has been deprecated. The code for irq_connect_dynamic() still exists in the codebase but will not be discussed here. This document assumes you are familiar with the x86 IDT. We will mostly discuss interrupts, exception handling is briefly described at the end of this document. 2. High-level design As seen in the API definitions, ISR routines in Zephyr take the following form: void isr(void *parameter); And are registered with the IRQ_CONNECT() macro: /** * Configure a static interrupt. * * All arguments must be computable by the compiler at build time; if this * can't be done use irq_connect_dynamic() instead. * * @param irq_p IRQ line number * @param priority_p Interrupt priority * @param isr_p Interrupt service routine * @param isr_param_p ISR parameter * @param flags_p Arch-specific IRQ configuration flags * * @return The vector assigned to this interrupt */ #define IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p) \ _ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p) On x86, there's no place to put the parameter in the IDT, all you can assign to a vector is a void isr(void). In Zephyr, what actually gets installed in the IDT is an automatically generated assembly stub. For IAMCU ABI it looks like this: /* Push caller-saved registers onto the stack */ pushl %eax pushl %edx pushl %ecx /* Put hard-coded ISR and ISR parameter into function args, * with IAMCU these go in regs and not the stack */ movl <isr routine>, %eax movl <isr parameter>, %edx /* Call common interrupt handling code */ call _execute_handler /* Restore caller-saved registers popl %ecx popl %edx popl %eax /* Return to the interrupted context */ iret Note that the implementation of this is very different for Sys V ABI, but the policy is the same. For purposes of this document we'll just describe the IAMCU implementation. We'll discuss what _execute_handler does in more detail later, and how these stubs are created. First, let's talk about how we create the IDT and populate it with these stubs. ###### 3. ISR_LIST Each invocation of IRQ_CONNECT() populates an array called the ISR_LIST, placed in a special binary section called ".intList". The build tool gen_idt (described in more detail later) uses ISR_LIST to create a binary IDT image. Each element of the ISR_LIST contains all the information needed to generate the IDT entry and looks like this: typedef struct s_isrList { /** Address of ISR/stub */ void *fnc; /** IRQ associated with the ISR/stub */ unsigned int irq; /** Priority associated with the IRQ */ unsigned int priority; /** Vector number associated with ISR/stub */ unsigned int vec; /** Privilege level associated with ISR/stub */ unsigned int dpl; } ISR_LIST; Not all the members of this struct need to populated with specific values. Use-cases as follows: * For APIC, the typical case for an interrupt is to set the priority and irq fields, and set vec to -1. This means gen_idt will automatically select a free vector based on the supplied priority level, with each priority level corresponding to a group of 16 vectors. Priority 0 corresponding to vectors 32-47, and so forth. This makes it easy for users, as they don't have to set a specific vector ID. Instead the vector will be of some range determined by the priority level instead. * For MVIC, there is a fixed relationship between IRQ lines and vectors. The priority field is set to -1 and the vector is set to irq + 0x20. * For CPU exceptions, the priority and irq fields are set to -1 and the specific vector to use is provided. The handler function will simply get put at the requested vector. CPU exceptions configured with different macros than IRQ_CONNECT() and have different handling in the OS, briefly described later in this document. * Currently dpl is always zero. We don't support other DPLs at the moment, gen_idt will throw an error if it finds something other than zero here. At the end of the build, but before the final link, we now have an INT_LIST array which reflects the intended configuration for the IDT. Before Zephyr is actually linked, the gen_idt tool runs and generates an object file containing the IDT binary, which gets linked into the final executable. ###### 4. gen_idt The code for gen_idt is located in scripts/gen_idt. Broadly speaking it consumes the ISR_LIST, validates the sanity of its contents, and creates an object file creating the IDT and a few other data structures. For each entry in ISR_LIST, gen_idt creates a present 32-bit i386 Interrupt gate for it with DPL 0. In addition to creating the IDT, gen_idt populates a few other data structures. * For APIC, _irq_to_interrupt_vector array contains the mapping between irq lines and the vectors assigned to them by gen_idt. We need this at runtime so that we can program the APIC at boot: extern unsigned char _irq_to_interrupt_vector[]; #define _IRQ_TO_INTERRUPT_VECTOR(irq) \ ((unsigned int) _irq_to_interrupt_vector[irq]) For MVIC, whose mapping is fixed, this array isn't generated and the macro is instead: #define _IRQ_TO_INTERRUPT_VECTOR(irq) (irq + 0x20) * _interrupt_vectors_allocated is a bitfield indicating which entries in the IDT are in use. It is only used by the deprecated dynamic IRQ implementation (so that it can quickly find free vectors) and will eventually disappear. gen_idt is run at the end of the build just before the final linking step. ####### 5. IRQ_CONNECT() The IRQ_CONNECT() macro is a complicated beast with build and runtime components. It does the following: 1. Declare an assembly language ISR stub, which calls common interrupt entry/cleanup code and calls the user-supplied ISR with parameter. The address of this stub is what gets put in the IDT. 2. Declare appropriate ISR_LIST entry to be put in .isrList section, for gen_idt to use to create the actual IDT. 3. Perform any runtime initialization. For APIC, this establishes the irq line to vector mapping, and set triggering options. Depending on the irq line this will be accomplished by poking either LOAPIC or IOAPIC registers. For MVIC we just set triggering options. This stuff is all found in include/arch/x86/arch.h. There are detailed comments, I've omitted them since I'm just going to re-explain everything. First, the _ARCH_IRQ_CONNECT macro itself: /* * @param irq_p IRQ line number * @param priority_p Interrupt priority * @param isr_p Interrupt service routine * @param isr_param_p ISR parameter * @param flags_p IRQ triggering options * * @return The vector assigned to this interrupt */ #define _ARCH_IRQ_CONNECT(irq_p, priority_p, isr_p, isr_param_p, flags_p) \ ({ \ __asm__ __volatile__( \ "jmp 2f\n\t" \ ".pushsection .intList\n\t" \ ".long 1f\n\t" /* ISR_LIST.fnc */ \ ".long %P[irq]\n\t" /* ISR_LIST.irq */ \ ".long %P[priority]\n\t" /* ISR_LIST.priority */\ ".long %P[vector]\n\t" /* ISR_LIST.vec */ \ ".long 0\n\t" /* ISR_LIST.dpl */ \ ".popsection\n\t" \ "1:\n\t" \ _IRQ_STUB_ASM \ "2:\n\t" \ : \ : [isr] "i" (isr_p), \ [isr_param] "i" (isr_param_p), \ [priority] "i" _PRIORITY_ARG(irq_p, priority_p), \ [vector] "i" _VECTOR_ARG(irq_p), \ [irq] "i" (irq_p)); \ _SysIntVecProgram(_IRQ_TO_INTERRUPT_VECTOR(irq_p), (irq_p), (flags_p)); \ _IRQ_TO_INTERRUPT_VECTOR(irq_p); \ }) First we see a complex inline assembly. This does two things: 1. It creates the assembly language stub. The details of this are in _IRQ_STUB_ASM. This takes two forms depending on whether we are using Sys V or IAMCU ABI. Here's the IAMCU template: #define _IRQ_STUB_ASM \ "pushl %%eax\n\t" \ "pushl %%edx\n\t" \ "pushl %%ecx\n\t" \ "movl %[isr], %%eax\n\t" \ "movl %[isr_param], %%edx\n\t" \ "call _execute_handler\n\t" \ "popl %%ecx\n\t" \ "popl %%edx\n\t" \ "popl %%eax\n\t" \ "iret\n\t" You'll notice at the top of the main __asm__ statement is a 'jmp 2f'. In assembly syntax '2f' refers to the first subsequent occurrence of the non-unique label 2, which is immediately after the stub declaration. This prevents the generated stub from actually being executed in the context of the IRQ_CONNECT() call, execution just jumps immediately after it. 2. An entry in INT_LIST is declared. The .fnc member is populated with '.long 1f' which is the memory address of the stub, since the next '1' label is immediately before it. We use pushsection/popsection to ensure that this INT_LIST entry goes in the desired ".intList" section. After the assembly stub is a runtime call to _SysIntVecProgram to tell the interrupt controller what the irq -> vector mapping is, and the triggering flags. This is where the _irq_to_interrupt_vector array gets used, see the _IRQ_TO_INTERRUPT_VECTOR call. Finally there is another instance of _IRQ_TO_INTERRUPT_VECTOR to serve as the return value for this macro; the macro is a GCC compound expression ({ }) so whatever expression is last is the value "returned". In practice this is rarely needed. ##### 6. _execute_handler The code for this is in arch/x86/core/iamcu_abi/intstub.c. It takes the ISR and ISR parameter as parameters. When this is called, the assembly stub has already taken care of saving the thread's caller-saved registers onto the stack: void _execute_handler(int_handler_t function, int context); This function does the following: 1. If we are not already on the IRQ stack (such as with nested IRQs), switch to the IRQ stack. The old thread stack pointer is pushed onto the IRQ stack so we can get back to it. 2. If nested interrupts are enabled in the kernel configuration, re-enable interrupts. 3. The handler function is called with the supplied context as its parameter. 4. Disable interrupts again if we had re-enabled them in step 3. 5. EOI is performed by poking the LOAPIC. LMT CPUs have a bug where this is not propagated correctly to the IOAPIC, there is some workaround code for this situation to also poke the IOAPIC. 6. If we are not in a nested interrupt, switch back to he thread stack. The kernel now decides whether a scheduling decision is needed. If the interrupted context was a preemptible thread and there are any pending fibers, _Swap is called. This will push the callee-saved registers onto the stack and do a context switch. 7. Control goes back to the stub, which restores caller-saved registers that were pushed onto the stack and returns control to the interrupted context with 'iret'. If a context switch was performed, this might not be the same context we were in when the interrupt happened. For Sys V ABI, both the generated stubs and the common interrupt handling code are completely different, but the policy is exactly the same. ##### 7. Exceptions Exceptions are not configured with IRQ_CONNECT. Handlers for exceptions are set up in arch/x86/core/excstub.S with the EXC_HANDLER() and EXC_HANDLER_CODE() macros, depending on whether the particular exception pushes an error code onto the stack or not. These boil down to the NANO_CPU_EXC_CONNECT() macro which also registers an entry into the INT_LIST and creates an assembly stub. Unlike interrupts, exceptions do not have any user parameters (except for some cases where the CPU pushes an error code), the exception is processed without switching stacks, and there are no scheduling decisions at the end. -- Andrew Boie Staff Engineer - EOS Zephyr Intel Open Source Technology Center
|
|
Daily Gerrit Digest
donotreply@...
NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/1971 : Bluetooth: L2CAP: Refactor l2cap_chan_get() in l2cap.c - https://gerrit.zephyrproject.org/r/1951 : Bluetooth: L2CAP: Introduce internal BR/EDR connection L2CAP notifier API - https://gerrit.zephyrproject.org/r/1954 : Bluetooth: L2CAP: Enable handle BR/EDR signal channel traffic - https://gerrit.zephyrproject.org/r/1953 : Bluetooth: L2CAP: Implement bt_l2cap_br_connected() notifier - https://gerrit.zephyrproject.org/r/1972 : Bluetooth: SMP: Fix ecc_make_key return code check - https://gerrit.zephyrproject.org/r/1950 : Bluetooth: L2CAP: Move init BR/EDR pool signal buffers to l2cap_br.c - https://gerrit.zephyrproject.org/r/1952 : Bluetooth: L2CAP: Move bt_l2cap_br_fixed_chan_register() to l2cap_br.c - https://gerrit.zephyrproject.org/r/1969 : Bluetooth: Omit implicit permission flags - https://gerrit.zephyrproject.org/r/1970 : Bluetooth: GATT: Remove authorization permission - https://gerrit.zephyrproject.org/r/1959 : kernel: add _IS_IDLE_TASK() - https://gerrit.zephyrproject.org/r/1964 : i2c: fix i2c_dw.c to have correct decl for i2c_dw_isr() - https://gerrit.zephyrproject.org/r/1965 : quark_se_devboard: Update flash and debug openocd configuration - https://gerrit.zephyrproject.org/r/1967 : net: 6lowpan: Fix include header files path in null_compression - https://gerrit.zephyrproject.org/r/1962 : samples/net/loopback: Add helper functions to handle app data - https://gerrit.zephyrproject.org/r/1963 : i2c: disable/enable interrupts before entering critical regions. - https://gerrit.zephyrproject.org/r/1961 : spi: disable/enable interrupts before entering critical regions. - https://gerrit.zephyrproject.org/r/1960 : gpio: For ARC EM Starterkit, a 4-port GPIO implementation is being added - https://gerrit.zephyrproject.org/r/1958 : openocd: enable cmsis-dap, jlink, stlink interfaces - https://gerrit.zephyrproject.org/r/1957 : hosttools-tarball: Add hidapi-libusb - https://gerrit.zephyrproject.org/r/1956 : hidapi-libusb: HIDAPI library for OpenOCD - https://gerrit.zephyrproject.org/r/1955 : zephyr-sdk.inc: Update tested distros. UPDATED within last 24 hours: - https://gerrit.zephyrproject.org/r/1936 : doc: use table for Kconfig option reference - https://gerrit.zephyrproject.org/r/1583 : kernel event profiler: add dynamic enable/disable/configure - https://gerrit.zephyrproject.org/r/1855 : nanokernel: Introduce workqueue API - https://gerrit.zephyrproject.org/r/1879 : Bluetooth: L2CAP: Handle information request command on BR/EDR - https://gerrit.zephyrproject.org/r/1766 : net: buf: Add net_buf_pull_le32() helper API - https://gerrit.zephyrproject.org/r/1940 : galileo: set priority of ADC to 100 - https://gerrit.zephyrproject.org/r/1878 : net: buf: Add net_buf_add_le32() helper API - https://gerrit.zephyrproject.org/r/1880 : Bluetooth: L2CAP: Handle information response command on BR/EDR - https://gerrit.zephyrproject.org/r/1932 : device: add documentation for device_get_binding - https://gerrit.zephyrproject.org/r/1903 : arm: Add support for Nordic Semiconductor's nRF52 series of ICs - https://gerrit.zephyrproject.org/r/1904 : arm: Add CMSIS-CORE v4.30 (20. October 2015) include header files - https://gerrit.zephyrproject.org/r/1899 : pm/loapic: suspend/resume support for LOAPIC - https://gerrit.zephyrproject.org/r/1897 : pm/apic: Keep irq to vector table in RAM when needed by PM - https://gerrit.zephyrproject.org/r/1898 : pm/ioapic: Add suspend/resume support for IOAPIC - https://gerrit.zephyrproject.org/r/1924 : grove: add temperature sensor - https://gerrit.zephyrproject.org/r/1884 : grove: add light sensor - https://gerrit.zephyrproject.org/r/1722 : build: Add MinGW dependencies in makefile MERGED within last 24 hours: - https://gerrit.zephyrproject.org/r/1966 : Bluetooth: tester: Fix setting nonconn advertising type - https://gerrit.zephyrproject.org/r/1854 : nanokernel: Add fiber_config structure and wrapper - https://gerrit.zephyrproject.org/r/1939 : arc: early init should invalidate d-cache and set vector table - https://gerrit.zephyrproject.org/r/1938 : arc: initialize the i-cache ONLY if it is present - https://gerrit.zephyrproject.org/r/1947 : drivers/nble: Make sure gatt_private is reset properly - https://gerrit.zephyrproject.org/r/1943 : mailmap: Fix a couple of incorrect git author names - https://gerrit.zephyrproject.org/r/1946 : Bluetooth: GATT: Make bt_gatt_write take a struct - https://gerrit.zephyrproject.org/r/1948 : Bluetooth: SMP: Reduce stack usage when generating ECDH keys - https://gerrit.zephyrproject.org/r/1949 : Bluetooth: Use tinycrypt for ecc in LE SC only sample - https://gerrit.zephyrproject.org/r/1918 : zephyr-qemu: Fix benign warning messages - https://gerrit.zephyrproject.org/r/1917 : openocd: Various fixes - https://gerrit.zephyrproject.org/r/1916 : hosttools-tarball: Add openocd-legacy - https://gerrit.zephyrproject.org/r/1915 : openocd-legacy: Initial commit
|
|
Re: zephyr cc2520
Jukka Rissanen
Hi David,
On Wed, 2016-05-11 at 16:54 +0800, David.Dai(a)alitech.com wrote: Hi sir,Try to activate some debugging in the cc2520 driver first. Set CONFIG_TI_CC2520_DEBUG=y in your projects conf file. If that shows that network packets are not sent, then you can start to activate debugging options in the lower MAC stack and IP stack. See various IP stack debugging options in net/ip/Kconfig.debug file for details. Cheers, Jukka
|
|
zephyr cc2520
david.dai@...
Hi sir,
I am porting cc2520 driver to arduino_due board, when sending udp packet over cc2520. the packet is never transmitted by cc2520 driver. I don't know if cc2520 driver has run correctly on any zephyr platform? to debug, where should I focus on, cc2520 driver or zephyr ip stack? Thank you! Best Regards David Dai(戴卫彬) Position:上海 ********************************************************* This message contains information that may be confidential and/or privileged and is intended only for the individual or entity named in the body of email above. If this message has been received in error, your receipt of this message is not intended to waive any applicable privilege. No one else may disclose, copy, distribute or use the contents of this message. Unauthorized use, dissemination and duplication is strictly prohibited, and may be unlawful.
|
|
Re: [PATCH v2 1/4] nanokernel: Add fiber_config structure and wrapper
Luiz Augusto von Dentz
Hi Vlad,
On Tue, May 10, 2016 at 1:46 PM, Vlad Dogaru <vlad.dogaru(a)intel.com> wrote: On Mon, May 09, 2016 at 04:30:16PM +0300, Luiz Augusto von Dentz wrote:Not sure in what context you are taking this, the workqueue and workHi Vlad,I'm not sure that helps in the bigger picture (although I admit I had should be 2 different objects, the workqueue object may or may not carry its fiber_config depending if you want to share perhaps it needs to be a separate variable, but for sure it wouldn't be part of the work object for the reason you just pointed above so this design is perhaps sub-optimal and should not be used in practice. -- Luiz Augusto von Dentz
|
|
Daily JIRA Digest
donotreply@...
NEW JIRA items within last 24 hours: 6
[ZEP-295] Consolidate and simplify GPIO driver configuration options https://jira.zephyrproject.org/browse/ZEP-295 [ZEP-294] Consolidate and simplify SPI driver configuration options https://jira.zephyrproject.org/browse/ZEP-294 [ZEP-293] Reduce Kconfig variables in sensor drivers https://jira.zephyrproject.org/browse/ZEP-293 [ZEP-296] Consolidate and simplify Serial driver configuration options https://jira.zephyrproject.org/browse/ZEP-296 [ZEP-297] Consolidate and simplify I2C driver configuration options https://jira.zephyrproject.org/browse/ZEP-297 [ZEP-300] nios2: enable stack canaries https://jira.zephyrproject.org/browse/ZEP-300 UPDATED JIRA items within last 24 hours: 2 [ZEP-163] AIO doesn't work on QUARK_D2000_CRB https://jira.zephyrproject.org/browse/ZEP-163 [ZEP-149] Online documentation for kconfig variables overlaps https://jira.zephyrproject.org/browse/ZEP-149 CLOSED JIRA items within last 24 hours: 1 [ZEP-176] (Won't Do) [regression] profiler sleep event not received https://jira.zephyrproject.org/browse/ZEP-176 RESOLVED JIRA items within last 24 hours: 0
|
|
Daily Gerrit Digest
donotreply@...
NEW within last 24 hours:
- https://gerrit.zephyrproject.org/r/1949 : Bluetooth: Use tinycrypt for ecc in LE SC only sample - https://gerrit.zephyrproject.org/r/1948 : Bluetooth: SMP: Reduce stack usage when generating ECDH keys - https://gerrit.zephyrproject.org/r/1947 : drivers/nble: Make sure gatt_private is reset properly - https://gerrit.zephyrproject.org/r/1946 : Bluetooth: GATT: Make bt_gatt_write take a struct - https://gerrit.zephyrproject.org/r/1940 : galileo: reset priority of SPI to 70 - https://gerrit.zephyrproject.org/r/1943 : mailmap: Fix a couple of incorrect git author names - https://gerrit.zephyrproject.org/r/1939 : arc: early init should invalidate d-cache and set vector table - https://gerrit.zephyrproject.org/r/1938 : arc: initialize the i-cache ONLY if it is present UPDATED within last 24 hours: - https://gerrit.zephyrproject.org/r/1884 : grove: add light sensor - https://gerrit.zephyrproject.org/r/1922 : tests: Add nano_work test - https://gerrit.zephyrproject.org/r/1924 : grove: add temperature sensor - https://gerrit.zephyrproject.org/r/1855 : nanokernel: Introduce workqueue API - https://gerrit.zephyrproject.org/r/1854 : nanokernel: Add fiber_config structure and wrapper - https://gerrit.zephyrproject.org/r/1923 : sensor: Rework core to use workqueue API - https://gerrit.zephyrproject.org/r/1584 : Added profiler application and scripts - https://gerrit.zephyrproject.org/r/1904 : arm: Add CMSIS-CORE v4.30 (20. October 2015) include header files - https://gerrit.zephyrproject.org/r/1868 : sensor: remove unnecessary return variables - https://gerrit.zephyrproject.org/r/1867 : sensor: add support for *_ANY get channel - https://gerrit.zephyrproject.org/r/1880 : Bluetooth: L2CAP: Handle information response on BR/EDR - https://gerrit.zephyrproject.org/r/1871 : Bluetooth: Get the included service 128bit UUID - https://gerrit.zephyrproject.org/r/1784 : nanokernel: Add callback to _nano_timeout - https://gerrit.zephyrproject.org/r/1879 : Bluetooth: L2CAP: Handle information request on BR/EDR - https://gerrit.zephyrproject.org/r/1583 : kernel event profiler: add dynamic enable/disable/configure - https://gerrit.zephyrproject.org/r/1898 : pm/ioapic: Add suspend/resume support for IOAPIC - https://gerrit.zephyrproject.org/r/1896 : apic : Refactor some macros into a header - https://gerrit.zephyrproject.org/r/1899 : pm/loapic: suspend/resume support for LOAPIC - https://gerrit.zephyrproject.org/r/1909 : rtc: unify kconfig variable names - https://gerrit.zephyrproject.org/r/1932 : device: add documentation for device_get_binding - https://gerrit.zephyrproject.org/r/1908 : watchdog: unify kconfig variables - https://gerrit.zephyrproject.org/r/1897 : pm/apic: Keep irq to vector table in RAM when needed by PM - https://gerrit.zephyrproject.org/r/1935 : Bluetooth: Fix NULL dereference MERGED within last 24 hours: - https://gerrit.zephyrproject.org/r/1945 : Bluetooth: GATT: Fix coding style - https://gerrit.zephyrproject.org/r/1944 : drivers/nble: Update RPC version to 0510 - https://gerrit.zephyrproject.org/r/1942 : drivers/nble: Fix NULL pointer dereference - https://gerrit.zephyrproject.org/r/1941 : Revert "drivers/nble: Update RPC to Nordic BLE to 0509" - https://gerrit.zephyrproject.org/r/1937 : gpio: For EM Starterkit, some additional GPIO register defines are needed - https://gerrit.zephyrproject.org/r/1651 : net/loopback: add missing license - https://gerrit.zephyrproject.org/r/1825 : net: configure TCP receive window size - https://gerrit.zephyrproject.org/r/1889 : arc: more improvements to use isa-16 instructions - https://gerrit.zephyrproject.org/r/1888 : arc: Add defines for many more useful auxiliary registers - https://gerrit.zephyrproject.org/r/1890 : console: fix spelling error in comment - https://gerrit.zephyrproject.org/r/1891 : arc: clarify in comment that ARC must have timer0 - https://gerrit.zephyrproject.org/r/1894 : arc: Add CONFIG_HARVARD since some ARC CPU Architectures are Harvard. - https://gerrit.zephyrproject.org/r/1895 : arc: do lr and sr instructions together, avoid instruction pipeline bubble - https://gerrit.zephyrproject.org/r/1832 : nios2: add minimal crt0.S - https://gerrit.zephyrproject.org/r/1833 : nios2: fatal: add _SysFatalErrorHandler and _Fault stub - https://gerrit.zephyrproject.org/r/1886 : kernel_event_logger: disable on nios2 - https://gerrit.zephyrproject.org/r/1834 : nios2: add missing linker script - https://gerrit.zephyrproject.org/r/1831 : build: rename non-generated linker scripts to .ld extension - https://gerrit.zephyrproject.org/r/1873 : nios2: add config-independent CPU defines - https://gerrit.zephyrproject.org/r/1892 : nios2: implement asm_inline_gcc functions for sys_io.h - https://gerrit.zephyrproject.org/r/1893 : nios2: implement _arch_irq_lock / unlock - https://gerrit.zephyrproject.org/r/1872 : nios2: provide and include soc-specific headers - https://gerrit.zephyrproject.org/r/1885 : newlib: treat x86 as the special case - https://gerrit.zephyrproject.org/r/1874 : nios2: update _new_thread prototype to latest changes - https://gerrit.zephyrproject.org/r/1929 : drivers/nble: Increase RX buffer pool - https://gerrit.zephyrproject.org/r/1933 : drivers/nble: Fix passing uninitialized scan parameters - https://gerrit.zephyrproject.org/r/1713 : Bluetooth: BR/EDR: Reset pairing context when needed - https://gerrit.zephyrproject.org/r/1934 : drivers/nble: Fix passing uninitialized write request structure - https://gerrit.zephyrproject.org/r/1883 : drivers/nble: Fix memory leak with double connection create
|
|
Re: [PATCH 2/4] nanokernel: Introduce workqueue API
Benjamin Walsh <benjamin.walsh@...>
On Mon, May 9, 2016 at 6:31 PM, Benjamin WalshI'll wait for your implementation before commenting more, but yes, the only thing that I saw was similar between the two was that the fiber could be shared, and of course, that means that both the work queue and the callout systems schedule work by adding it to the fifo the fiber is waiting on.
|
|