[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Add ACPI translator and shutdown RPC that turns off pc
From: |
Damien Zammit |
Subject: |
Re: [PATCH] Add ACPI translator and shutdown RPC that turns off pc |
Date: |
Sun, 25 Nov 2018 21:10:11 +1100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 |
Hi Kalle,
On 25/11/18 19:58, Kalle Olavi Niemitalo wrote:
> Perhaps this code should first check whether the SCI_EN bit is
> already set, as described in ACPI 5.0 section 4.8.2.5
> "Legacy/ACPI Select and the SCI Interrupt", and skip the outb if
> so. Section 5.2.9 "Fixed ACPI Description Table (FADT)" says the
> SMI_CMD field of FADT can be zero.
>
Thanks for the information, I will do this.
>> +#define SLP_TYP0 (0x0 << 10)
>> +#define SLP_TYP5 (0x5 << 10)
>
> This hardcodes QEMU-specific values. ACPI 5.0 section 7.3.4 says
> the values for PM1a_CNT.SLP_TYP must be read from the \S0-\S5
> objects.
Damn, I want to avoid putting a whole AML interpreter into hurd.
I thought the sleep value for S5 == 0x5 but clearly this is not the
case. Now that you have pointed this out, I dont know how to make this
work for all cases without putting an AML interpreter into hurd as you said.
>DSDT of my laptop also has:
>
> If (LEqual (S3DS, One))
> {
> Name (_S3, Package (0x04) // _S3_: S3 System State
> {
> 0x05,
> Zero,
> Zero,
> Zero
> })
> }
Surely S5 always has to exist, how else do you power off the machine?
Some machines don't have suspend S3. Maybe I can do some clever walk of
the binary to find the _S5 object and extract the SLP_TYP value instead
of a whole AML interpreter?
> Maybe it's good enough if S5 works on QEMU. In that case though,
> I would like to see a comment warning about this limitation.
For now I will indeed add a comment stating the limitation.
Thanks for review!
Damien