Linux.com

ravi.chakram

ravi.chakram

  • Linux.com Member
  • Posts: 58
  • Member Since: 30 May 09
  • Last Logged In: 29 Apr

Latest Posts

Posted by
Topic
Post Preview
Posted
  • ravi.chakram
    Doubt in Interrupt subsystem initialization.
    Hi, I am trying to understand interrupts for x86 architecture, I have few doubts while checking init_IRQ() function @ arch/x86/kernel/irqinit.c. 1) init_IRQ() function is calling native_init_IRQ() function at the end. Inside native_init_IRQ() function following code is updating the IDT with interrupt array entry. if (!test_bit(i, used_vectors)) set_intr_gate(i, interrupt[i-FIRST_EXTERNAL_VECTOR]); I have following doubts after seeing the above code snippet. [b]Doubt 1)[/b] Where this interrupt array was declared/defined? [b]Doubt 2)[/b] While registering ISR using request_irq, how the ISR will be updated in the interrupt array? Could you please help me to understand interrupt subsystem initialization. Thanks in advance.
    Link to this post 28 Apr

    Hi,

    I am trying to understand interrupts for x86 architecture, I have few doubts while checking init_IRQ() function @ arch/x86/kernel/irqinit.c.

    1) init_IRQ() function is calling native_init_IRQ() function at the end. Inside native_init_IRQ() function following code is updating the IDT with interrupt array entry.

    if (!test_bit(i, used_vectors))
    set_intr_gate(i, interrupt[i-FIRST_EXTERNAL_VECTOR]);

    I have following doubts after seeing the above code snippet.

    Doubt 1) Where this interrupt array was declared/defined?
    Doubt 2) While registering ISR using request_irq, how the ISR will be updated in the interrupt array?

    Could you please help me to understand interrupt subsystem initialization.

    Thanks in advance.

  • ravi.chakram
    Kernel timer behaviour during jiffies wrap around.
    Could you please help me to understand the "Kernel timer" behaviour during the below scenario(Assume the machine is 32bit machine) in 2.6.x kernels. Scenario: A Kernel timer's expiry value is initialized to "jiffies+8", when the jiffies value is "0xFFFFFFF0". This Kernel timer is added using add_timer() API after the jiffies wrap around(say the jiffies value is 0x01000000). What time the Kernel timer's timeout function will be called in this scenario?
    Link to this post 15 Apr 13

    Could you please help me to understand the "Kernel timer" behaviour during the below scenario(Assume the machine is 32bit machine) in 2.6.x kernels.

    Scenario:
    A Kernel timer's expiry value is initialized to "jiffies+8", when the jiffies value is "0xFFFFFFF0". This Kernel timer is added using add_timer() API after the jiffies wrap around(say the jiffies value is 0x01000000).

    What time the Kernel timer's timeout function will be called in this scenario?

  • ravi.chakram
    USB susped/resume
    Hi All, Could you please clarify below query related to USB auto suspend nad resume. If we initiate resume immediatly after auto suspend, how hub driver will handle the port connected to the device.
    Link to this post 08 Sep 11

    Hi All,

    Could you please clarify below query related to USB auto suspend nad resume.

    If we initiate resume immediatly after auto suspend, how hub driver will handle the port connected to the device.

  • ravi.chakram
    USB core
    Hi, I am implementing suspend and resume methods in the USB client driver. I have done the following things. 1)I register a suspend and resume methods in usb_driver structure. 2)I am calling usb_autopm_pet_interface and usb_autopm_pet_interface functions in the open and release methods to change the pm_usage_cnt value in usb_interface structure. The suspend method is not calling when the pm_usage_cnt=0 and the resume method also not calling when the pm_usage_cnt>0. Is there any common suspend and resume methods which will be called by the usb core other than the suspend and resume methods registered by the client driver. CONFIG_USB_SUSPEND is already enabled. Please help me to find why the USB core is not calling the registered the suspend and resume methods.
    Link to this post 24 Aug 11

    Hi,

    I am implementing suspend and resume methods in the USB client driver. I have done the following things.

    1)I register a suspend and resume methods in usb_driver structure.
    2)I am calling usb_autopm_pet_interface and usb_autopm_pet_interface functions in the open and release methods to change the pm_usage_cnt value in usb_interface structure.


    The suspend method is not calling when the pm_usage_cnt=0 and the resume method also not calling when the pm_usage_cnt>0.

    Is there any common suspend and resume methods which will be called by the usb core other than the suspend and resume methods registered by the client driver.

    CONFIG_USB_SUSPEND is already enabled.


    Please help me to find why the USB core is not calling the registered the suspend and resume methods.

  • ravi.chakram
    RE: USB
    I got the required information in powermanagement.txt in kernel doccumentation.
    Link to this post 24 Aug 11

    I got the required information in powermanagement.txt in kernel doccumentation.

  • ravi.chakram
    USB
    Hi, I need to implement suspend and resume features in the USB client driver. Is there any prerequesites required from the gadget side? Could you please help me. Regards Kumar
    Link to this post 21 Aug 11

    Hi,

    I need to implement suspend and resume features in the USB client driver. Is there any prerequesites required from the gadget side?

    Could you please help me.

    Regards
    Kumar

  • ravi.chakram
    Interrupts
    while understanding the interrupts, I saw the below line in hardirq.h. #define SOFTIRQ_OFFSET (1UL << SOFTIRQ_SHIFT) Can anyone please tell me what is 1UL means in the above line. Thanks in advance Regards Kumar
    Link to this post 23 Jul 11

    while understanding the interrupts, I saw the below line in hardirq.h.

    #define SOFTIRQ_OFFSET (1UL << SOFTIRQ_SHIFT)

    Can anyone please tell me what is 1UL means in the above line.


    Thanks in advance

    Regards
    Kumar

  • ravi.chakram
    User context
    Hi All, Could you please tell me what user context is? It is the code running in kernel space on behalf of a user space process, is it correct? Regards Kumar
    Link to this post 17 Jun 11

    Hi All,

    Could you please tell me what user context is?
    It is the code running in kernel space on behalf of a user space process, is it correct?

    Regards
    Kumar

  • ravi.chakram
    RE: problem while running make
    Hi, Sorry for the late reply. I tried to install glibc, but it is showing that it is already installed. [root@localhost ]# yum install glibc Loaded plugins: langpacks, presto, refresh-packagekit Adding en_US to language list Setting up Install Process Package glibc-2.12.90-17.i686 already installed and latest version Nothing to do [root@localhost ]#
    Link to this post 10 Apr 11

    Hi,

    Sorry for the late reply.

    I tried to install glibc, but it is showing that it is already installed.

    [root@localhost ]# yum install glibc
    Loaded plugins: langpacks, presto, refresh-packagekit
    Adding en_US to language list
    Setting up Install Process
    Package glibc-2.12.90-17.i686 already installed and latest version
    Nothing to do
    [root@localhost ]#

  • ravi.chakram
    RE: problem while running make
    Hi, Sorry for the late reply. I tried with -lc_nonshared, but still it is showing the same error. [root@localhost ]# make gcc -static -o ../host_bin/watchdog ./watchdog.o -L ../Rlib/lib_host/ -lRhm -L ../Rlib/lib_host/ -lrtimer -lpthread_nonshared -lc_nonshared /usr/bin/ld: cannot find -lc collect2: ld returned 1 exit status make: *** [../host_bin/watchdog] Error 1 [root@localhost ]#
    Link to this post 10 Apr 11

    Hi,

    Sorry for the late reply.

    I tried with -lc_nonshared, but still it is showing the same error.

    [root@localhost ]# make
    gcc -static -o ../host_bin/watchdog ./watchdog.o -L ../Rlib/lib_host/ -lRhm -L ../Rlib/lib_host/ -lrtimer -lpthread_nonshared -lc_nonshared
    /usr/bin/ld: cannot find -lc
    collect2: ld returned 1 exit status
    make: *** [../host_bin/watchdog] Error 1
    [root@localhost ]#

Who we are ?

The Linux Foundation is a non-profit consortium dedicated to the growth of Linux.

More About the foundation...

Frequent Questions

Join / Linux Training / Board