Messages in this thread | | | From | "H.Rosmanith (Kernel Mailing List)" <> | Subject | Re: need h/e/l/p: PM -> RM in machine_real_start | Date | Thu, 31 Oct 2002 20:52:35 +0100 (MET) |
| |
> > Linux leaves the BIOS area alone, but interrupts may not be directly > usable because Linux loads a different IDT and reprograms the IO-APIC, > which is used in place of the interrupt controller if it exists. > > You need to reload the IDT once in real-mode. Documentation states > that it is "ignored", but the reload is necessary to get the default > interrupt-table to work. I think you can just reload with any memory > operand (reload junk). If you were transitioning from real to 32-bit > and back, you would save the current one "SIDT", before loading the > 32-bit one "LIDT". Since you don't know where the previous one was saved, > (if ever) you can't reload it.
well, reloading the idt is already done in "machine_real_start", look at line 255 (definition) and line 336 (execution).
what I've never heard of is the IO-APIC (allthough there's a file named io_apic.c just in the same directory). there surely is a way to "get rid of it" and have the 8259(A) or the emulating chipset(?) take over again. do you have, or do you know where I can find, documention about the IO-APIC? probably that's the reason why I don't see any hardware interrupts.
> Whatever interrupt controllers are used, they are programmed differently > in Linux than the BIOS expects. You would need to reprogram them, not > difficult, just a few instructions (check free-BIOS) or other references.
I've been afraid of that :-) okay ... I'll try. So far, I've already been checking linux-bios (didn't help much) and OpenBIOS. Hm, hm! It looks like (just as I ask google for FreeBIOS) that FreeBIOS is another different project.
> Check free-BIOS
thanks for the hint. It looks promising.
herbert
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |