User:Combuster/notepad: Difference between revisions

Content deleted Content added
Combuster (talk | contribs)
Forked out the mach64 piece
Combuster (talk | contribs)
Added part on the E820 bios call
Line 1:
These are my notes from experience. PD code, No warranty etc (even i mess up things more than once ;) ). If you feel parts should be in the main namespace, feel free (and leave me a PM)
 
== E820 woes ==
I recently discovered a broken bios that did not fill in the mandatory part of the structure (but left parts of it intact). Turns out GRUB doesn't fix this behaviour and that all multiboot kernels would consequently get incorrect data about the memory map.
 
A more complete list on bugproofing calling 0xE820:
* EAX = '''0x0000'''E820 ''(Ralph Brown: call may be ignored if it isn't)''
* The list can be terminated by either EBX=0 (where you need to parse the provided result) or CF=1 (where you should not)
* reserve '''at least''' 20 bytes ''(Ralph Brown: some bioses will always write 20 bytes)''
* make sure the area receiving the structure is '''zeroed''' before use. ''(Undocumented)''
 
== Porting the FreeBasic Runtime ==