Windows System Software -- Consulting, Training, Development -- Unique Expertise, Guaranteed Results

Before Posting...
Please check out the Community Guidelines in the Announcements and Administration Category.

More Info on Driver Writing and Debugging

The free OSR Learning Library has more than 50 articles on a wide variety of topics about writing and debugging device drivers and Minifilters. From introductory level to advanced. All the articles have been recently reviewed and updated, and are written using the clear and definitive style you've come to expect from OSR over the years.

Check out The OSR Learning Library at:

Understanding DSDT entries

parvathiparvathi Member Posts: 5

Hi all,

I have done some reasearch on ACPI spec, tables etc. Now my query is, I have to interface and chip on I2c. I have to provide its entry in DSDT , but some basic stuff is not clear to be in DSDT.

GNVS system memory shows some memory mapped registers ( like GP0A, GP0L, OSYS) . What are these , where do I get information on these. As far as I understand these are information passed by BIOS to OS . But if I need to use any of these , then how do I do that. Where is the documentation for these available ? Iam using intel E3900 processor for my design.

OperationRegion (GNVS, SystemMemory, 0x7AEB0000, 0x044A)
Field (GNVS, AnyAcc, Lock, Preserve)
OSYS, 16,
LIDS, 8,
PWRS, 8,
ACTT, 8,
CRTT, 8,
Offset (0x07),
Offset (0x08),


  • Shane_CorbinShane_Corbin Member Posts: 260

    I'm finding your question a little unclear. Perhaps you can clarify?

    What exactly are you trying to do?
    Are you trying to understand an existing DSDT entry? Or are you the BIOS writer and needing to create a new one?
    It sounds like you have some need to access an I2C attached device. Are you the hardware manufacturer adding a new device one of the I2C busses?

    What exactly do you want to know about GNVS? Why do you suspect you need to know this information for communicating with an I2C device?

    I think clearly stating the problem you're trying to solve would help folks have a chance at helping you. Maybe you have a production mainboard with a production BIOS that has a DSDT entry exposing an I2C attached device, but don't know how to access it from Windows?

  • parvathiparvathi Member Posts: 5

    Hi Shane_Corbin,
    Well, I am a hardware manufacturer adding a new device one of the I2C busses, that sounds most appropriate.
    We are kind of developing a tablet PC. So, I am a 3rd party developer who has bought a board based on intel E3900 from a vendor who has exposed I2c pins on the board for my use. They have provided the BIOS (default). My requirement is to interface a battery fuel gauge IC using i2c to this processor. The only requirement is that the battery status should be shown in the windows OS. My understanding is that If I do the required modification in ACPI tables, and add I2c operation regions then I should be able to expose the battery status to the OS.

    So my question here is how to go about this ?

  • Peter_Viscarola_(OSR)Peter_Viscarola_(OSR) Administrator Posts: 7,893

    I haven’t DONE this myself, so I can’t provide any specific, practical, help.

    The general idea is that Windows includes all the necessary “stuff” to integrate your battery control and status. And you provide the ASL to implement the require methods. This is pretty much described here.

    I don’t know if that’s any help,


    Peter Viscarola

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Upcoming OSR Seminars
OSR has suspended in-person seminars due to the Covid-19 outbreak. But, don't miss your training! Attend via the internet instead!
Kernel Debugging 30 Mar 2020 OSR Seminar Space
Developing Minifilters 15 Jun 2020 LIVE ONLINE
Writing WDF Drivers 22 June 2020 LIVE ONLINE
Internals & Software Drivers 28 Sept 2020 Dulles, VA