All of lore.kernel.org
 help / color / mirror / Atom feed
* Idea: Move kernel to upper memory
@ 2008-08-29 11:15 Bean
  2008-08-30 12:40 ` Robert Millan
  2009-04-19 15:45 ` Vladimir Serbinenko
  0 siblings, 2 replies; 10+ messages in thread
From: Bean @ 2008-08-29 11:15 UTC (permalink / raw)
  To: The development of GRUB 2

Hi,

The traditional memory is quite small, and is used by real mode apps.
By moving grub2 kernel to upper memory, it's possible to keep it after
dos started, and we can invoke grub2 service using interrupts. One
important usage is to provide disk related function to dos via int 13,
for example, loopback device, ata/usb disk or linux software raid. It
would also be possible to reenter grub2 at any time.

I have thought of a method to implement this. First, we put kernel
code in a module kernel.mod. The platform initialization code is
separated and placed in startup.img. Startup.img would do things like
getting memory map, relocate real mode trunk and save the information
in a platform dependent structure. It then pass it to the first
module, which would be kernel.mod. kernel.mod relocates itself and
other embedded modules to upper memory, then calls the entry point for
further tasks.

One advantage of this scheme is that symlist.c is not longer needed.
Kernel is a module, other module can use its exported function. And
platform dependent data and function, such as efi system table, x86
interrupt call, etc, can be passed using a structure.

-- 
Bean



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2009-04-19 15:45 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-29 11:15 Idea: Move kernel to upper memory Bean
2008-08-30 12:40 ` Robert Millan
2008-08-30 15:15   ` Bean
2008-08-31 13:28     ` Robert Millan
2008-08-31 13:30     ` Robert Millan
2008-08-31 13:55       ` Bean
2008-09-03 10:45   ` BVK Chaitanya
2008-09-04 19:19     ` Robert Millan
2008-09-06 14:14       ` BVK
2009-04-19 15:45 ` Vladimir Serbinenko

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.