[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Dell Media Direct button
From: |
Stefan Reinauer |
Subject: |
Re: Dell Media Direct button |
Date: |
Thu, 21 Aug 2008 14:13:05 +0200 |
User-agent: |
Thunderbird 2.0.0.16 (Macintosh/20080707) |
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: address@hidden • http://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866