2008/8/21 Stefan Reinauer <[EMAIL PROTECTED]>: > Robert Millan wrote: >> On Wed, Aug 20, 2008 at 10:57:22AM +0200, Per Öberg wrote: >> >>> Hi >>> >>> Some laptops, e.g., from Dell have a special button that they use to >>> boot a special embedded OS for media only instead of the ordinary OS. >>> >>> For my Dell XPS1330M I can determine if the Media button was pressed by >>> first writing 0xf9 to port 0x70 and then testing bit 0x08 of port 0x71. >>> >>> It would be really nice if such a test could be enabled in grub so that >>> grub can go directly to a specific menu alternative without showing the >>> gui if the media button was pressed. >>> >>> Is this interesting? I'd like to contribute but I don't know where to start. >>> >> >> Sounds interesting, but this needs some thought on how to design it. >> >> I suppose what you want is change the 'default' variable. Perhaps increase >> it by 1? But then, where do you do this? grub_machine_init is too early as >> 'default' hasn't been set yet. >> >> Maybe we could have a global 'int default_offset' variable that is >> initialized >> in grub_machine_init and later on used by normal.mod? >> >> > > The sequence of writing to port 0x70 / reading from port 0x71 reflects > reading from the computer's "cmos" nvram memory. > bit 7 of 0x70 is reserved for disabling NMIs, so the actual information > is stored in byte 0x79[8] in the cmos. > > To allow full flexibility, there should just be a module that allows > reading / writing the cmos values (could also be useful for other > things, such as reading a boot order set by the bios). > > Everything else makes more sense in scripting: > - changing "default" > - changing "timeout" > - support for bit operations in the parser > - etc... > > -- > coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br. > Tel.: +49 761 7668825 • Fax: +49 761 7664613 > Email: [EMAIL PROTECTED] • http://www.coresystems.de/ > Registergericht: Amtsgericht Freiburg • HRB 7656 > Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866 > > > > _______________________________________________ > Grub-devel mailing list > Grub-devel@gnu.org > http://lists.gnu.org/mailman/listinfo/grub-devel >
So what about a new "nvram" module in i386-pc that creates a variable $NVRAM hooked to routines getting/setting the live contents of the cmos memory? Then menu scripts can check its contents, among them the MediaDirect button. -Habbit
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel