Hello. A long time ago I written a C+asm code which loads any given code at any real-mode location, then puts machine in correct state and then launches the kernel. I can modify this code to suit GRUB2. Then loading realmode kernel would work like this: 1) copy helper asm to last kb of lower memory 2) jump to the helper 3) helper copies from upper memory the kernel 4) turn A10 bug back on if necessary 5) go to RM 6) prepare registers 7) jump to the kernel
This protocol is very flexible and as such could be used by all loaders which load kernel in realmode or even in PM (skip step 5, do steps 6-7 in 32-bit mode) except for changing page tables. Such a helper can be easily implemented as module and so help us removing asm-parts of loaders from the kernel. If I recieve greenlight for it, I implement it. Vladimir 'phcoder' Serbinenko _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel