1 Reply Latest reply on Oct 5, 2011 8:48 AM by Felix_M

    Does BIOS in Atom-32bit-intel board make IDT and GDT?

    Community Member

      I have Atom-32bit-intel board n450 with only BIOS in it, my goal is to use APIC timer and linke it with an ISR (0x21). After a while, I discoverd that IDT and GDT already exist(probably built by the BIOS) and no need to build them (the software is in C language and AT&T assembly):

              /*Read the IDTR*/
              sidt (idt_ptr)
      
              /*Read the GDTR*/
              sgdt (gdt_ptr)
      

      So I tried just to use IDT's address to link my ISR to the IDT :

      fill_interrupt(ISR_Nbr,(unsigned int) isr33, 0x08, 0x8E);
      
      static void fill_interrupt(unsigned char num, unsigned int base, unsigned short sel, unsigned char flags)
      {
          unsigned short *Interrupt_Address;
      
          /*address = idt_ptr.base + num * 8 byte*/
          Interrupt_Address = (unsigned short *)(idt_ptr.base + num*8);
      
          *(Interrupt_Address) = base&0xFFFF;
          *(Interrupt_Address+1) = sel;
          *(Interrupt_Address+1) = (flags>>8)&0xFF00;
          *(Interrupt_Address+1) = (base>>16)&0xFFFF;
      
      }
      

      When I try to call the ISR33 : int $0x21, the software crashes : SingleStep CPU[1] Error : Processor Running.

      So where is it wrong ???

      Remark: I use eclipse Heros(AT&T assembly), the code is in protected mode (CR0.PE = 1 I checked it, probably set by the BIOS).

        • Re: Does BIOS in Atom-32bit-intel board make IDT and GDT?
          Felix_M BlackBelt

          Hello and Welcome to the Intel® Embedded Community.

           

          I want to make you aware of a special place to go with questions like yours.  The Intel® e-Help desk is staffed by Intel representatives who  support select Intel embedded platforms including Atom

           

          To  access e-Help, you need to be a Privileged member of the Intel®  Embedded Community.  If you are not already a Privileged member, you can  request an upgrade to your community account here:

           

          https://edc.intel.com/My-Account.aspx

           

          In   addition to access to e-Help, Prvileged members may also access the  confidential content within the Intel® Embedded Design Center, such as  design documents, specifications, and training materials.

           

          I hope this helps.

           

          Felix

           

          J. Felix McNulty

          Community Moderator (Intel contractor)