[coreboot-gerrit] Change in coreboot[master]: intel/apollolake: Switch FADT to ACPI version 3.0

Werner Zeh (Code Review) gerrit at coreboot.org
Wed Apr 26 06:15:17 CEST 2017


Werner Zeh has posted comments on this change. ( https://review.coreboot.org/19146 )

Change subject: intel/apollolake: Switch FADT to ACPI version 3.0
......................................................................


Patch Set 2:

> > Hey Aaron.
 > > It took me some time to get back to this issue but now I had a
 > > closer look and have tried a bit on Apollo Lake.
 > > The following change is the minimum required set to make Windows
 > 10
 > > booting without errors/hangs/bluescreens:
 > >
 > > diff --git a/src/soc/intel/apollolake/acpi.c b/src/soc/intel/apollolake/acpi.c
 > > index 3c1faa5..493e0b8 100644
 > > --- a/src/soc/intel/apollolake/acpi.c
 > > +++ b/src/soc/intel/apollolake/acpi.c
 > > @@ -123,14 +123,19 @@ void acpi_fill_fadt(acpi_fadt_t * fadt)
 > > fadt->reset_value = 6;
 > >
 > > fadt->x_pm1a_evt_blk.space_id = 1;
 > > -	fadt->x_pm1a_evt_blk.bit_width = fadt->pm1_evt_len * 8;
 > > +	//ACPI Spec requires: "Size: PM1_EVT_LEN / 2"
 > > +	fadt->x_pm1a_evt_blk.bit_width = (fadt->pm1_evt_len * 8) >> 1;
 > > fadt->x_pm1a_evt_blk.addrl = pmbase + PM1_STS;
 > > +	//If access_size is missing, Win 10 will crash
 > > +	fadt->x_pm1a_evt_blk.access_size = 2;
 > >
 > > fadt->x_pm1b_evt_blk.space_id = 1;
 > >
 > > fadt->x_pm1a_cnt_blk.space_id = 1;
 > > fadt->x_pm1a_cnt_blk.bit_width = fadt->pm1_cnt_len * 8;
 > > fadt->x_pm1a_cnt_blk.addrl = pmbase + PM1_CNT;
 > > +	//If access_size is missing, Win 10 will crash
 > > +	fadt->x_pm1a_cnt_blk.access_size = 2;
 > >
 > > fadt->x_pm1b_cnt_blk.space_id = 1;
 > >
 > > @@ -138,6 +143,11 @@ void acpi_fill_fadt(acpi_fadt_t * fadt)
 > > fadt->x_pm_tmr_blk.bit_width = fadt->pm_tmr_len * 8;
 > > fadt->x_pm_tmr_blk.addrl = pmbase + PM1_TMR;
 > >
 > > +	// If the GPE0 entries are missing, Win 10 will end up in a
 > blue
 > > screen
 > > +	fadt->x_gpe0_blk.space_id = 1;
 > > +	fadt->x_gpe0_blk.access_size = 1;
 > > +	fadt->x_gpe0_blk.addrl = pmbase + GPE0_STS(0);
 > > +
 > > fadt->x_gpe1_blk.space_id = 1;
 > > }
 > >
 > > You will see that the missing sleep_stat and sleep_cnt entries
 > are
 > > not needed for the pure booting.
 > > Maybe there are features missing now in Windows 10 that I didn't
 > > checked yet. In any case, to be
 > > specification conform I would like to add them. But as ACPI3.0
 > does
 > > not define these fields, we maybe want to
 > > add a Kconfig option to select ACPI5.0 feature set and then add
 > > these fields to the structure only if ACPI5.0 is selected. But I
 > am
 > > not sure about it yet and would love to hear your opinion here.
 > >
 > > So we now have two ways to go:
 > > 1. We go back to ACPI3.0 for Apollo Lake and Sky Lake (these are
 > > the only two platforms using ACPI5.0)
 > > 2. We add the needed code to be ACPI5.0 conform.
 > >
 > > I can push a patch with the posted change set and abond this one
 > if
 > > you prefer the 2nd. way.
 > > I just want to make it clean in the tree.
 > >
 > > Werner
 > 
 > Thanks for looking into it further. We can likely move back to 3.0.
 > Could you please file a ticket at ticket.coreboot.org and log your
 > findings there so we can track it? It's very good info, and then we
 > know what to do if we want to switch.

OK, I will file the bug. Thanks for your opinion here.

-- 
To view, visit https://review.coreboot.org/19146
To unsubscribe, visit https://review.coreboot.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I51c7a7a84d10283f5c2a8a2c57257d53bbdee7ed
Gerrit-PatchSet: 2
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Owner: Werner Zeh <werner.zeh at siemens.com>
Gerrit-Reviewer: Aaron Durbin <adurbin at chromium.org>
Gerrit-Reviewer: Andrey Petrov <andrey.petrov at intel.com>
Gerrit-Reviewer: Paul Menzel <paulepanter at users.sourceforge.net>
Gerrit-Reviewer: Prabal Saha <coolstarorganization at gmail.com>
Gerrit-Reviewer: Werner Zeh <werner.zeh at siemens.com>
Gerrit-Reviewer: build bot (Jenkins)
Gerrit-HasComments: No



More information about the coreboot-gerrit mailing list