Hi,
jmkerdal wrote:
I'm looking for LAPIC into QEMU. APIC is OK but bank memory @ 0xfee00000 (for LAPIC) is not here (no HPET too).
Those are not necessarily listed (should be, but they are more often left out than included). They have their ACPI tables for sure. Just for the records, ACPI tables are often not listed in memory map either (E820), yet they are there, so you have to scan for RSDT manually.
To find the LAPIC, look for the
MADT, which has the magic 'APIC'.
Same for the HPET, look for the table with '
HPET' magic.
If you find those, you can be sure they are supported on your machine, regardless what memory map or memory bank list say.
jmkerdal wrote:
Probably I got a problem with KVM too because it won't install correctly for the moment.
Try to add "-enable-kvm -cpu host" to the qemu arguments. For Linux, you'll need the kvm kernel module too, which is usually part of the distros these days. Check with "lsmod | grep kvm". You can manually add that, but installing VirtualBox from your package manager will automatically call dkms to install the latest version of the kvm module. Not sure about Win, I assume there must be a .dll or something?
jmkerdal wrote:
What environment are you using to developp and test your OS with full capacity (APIC/LAPIC/HPET/...)?
I'm imaging using a real PC with a native Ubuntu but I'm not sure that I'll be the good way.
I use qemu, bochs and VirtualBox with both BIOS and UEFI (TianoCore) firmware (except for bochs, I only test with BIOS there). I regularly check my OS on real PC too, especially after some driver fix / upgrade.
Using a POSIX compliant OS for development (like Linux) will make your life easier, as the cross-compilers and build environments are primarily written for UNIX (like gcc, make, clang, etc.). Lot of tools which need third-party solutions under Win are actually built-in UNIX commands (like 'dd', 'hexdump' etc.) I'm not saying you can't do OS development under Win (many members on this forum doing that), but setting up your environment properly and finding support on forums is definitely harder. Our wiki too is mostly written assuming Linux. I'd say dual booting Win (everyday OS) and Linux (development OS) probably is the best solution for you (alternatively you could run Linux in a VM, but you'll see that it is not efficient nor comfortable for development. Running Linux natively is much better).
Cheers,
bzt