Bug 60592 - A table (SgTbl) is missing from the ACPI tables.
Summary: A table (SgTbl) is missing from the ACPI tables.
Status: CLOSED INVALID
Alias: None
Product: ACPI
Classification: Unclassified
Component: Config-Tables (show other bugs)
Hardware: All Linux
: P1 high
Assignee: Lv Zheng
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-07-20 15:52 UTC by Daniel Bech
Modified: 2013-12-09 00:33 UTC (History)
3 users (show)

See Also:
Kernel Version: 3.9 and 3.11.0 (tested so far)
Subsystem:
Regression: No
Bisected commit-id:


Attachments
ACPI tables dumped while running 3.11.0 (309.01 KB, text/plain)
2013-07-20 15:52 UTC, Daniel Bech
Details
dmesg run under linux-image 3.11.0 (76.56 KB, text/plain)
2013-07-20 15:54 UTC, Daniel Bech
Details
ACPI tables dumped while running 3.9.0 (300.82 KB, text/plain)
2013-07-20 15:55 UTC, Daniel Bech
Details
ACPI tables dumped with RW-Everything on Windows 7 (582.59 KB, text/plain)
2013-07-20 15:56 UTC, Daniel Bech
Details
Missing SgTbl ASL (OEMID=SgRef) (12.83 KB, text/plain)
2013-07-20 16:01 UTC, Peter Wu
Details
Missing IffsAsl ASL (OEMID=LENOVO) (1.75 KB, text/plain)
2013-07-20 16:03 UTC, Peter Wu
Details
ACPI tables dumped with RW-Everything on Windows 8 from the linux laptop (570.42 KB, text/plain)
2013-07-29 19:29 UTC, Daniel Bech
Details

Description Daniel Bech 2013-07-20 15:52:36 UTC
Created attachment 106960 [details]
ACPI tables dumped while running 3.11.0

the missing table is present in windows environments. It appears to handle Nvidia optimus switching. If you need any info just let me know.

this was found on a Lenovo Thinkpad T430u, I have two of these laptops one running linux and the other running windows.
Comment 1 Daniel Bech 2013-07-20 15:54:01 UTC
Created attachment 106961 [details]
dmesg run under linux-image 3.11.0
Comment 2 Daniel Bech 2013-07-20 15:55:00 UTC
Created attachment 106962 [details]
ACPI tables dumped while running 3.9.0
Comment 3 Daniel Bech 2013-07-20 15:56:11 UTC
Created attachment 106963 [details]
ACPI tables dumped with RW-Everything on Windows 7
Comment 4 Peter Wu 2013-07-20 16:01:42 UTC
Created attachment 106964 [details]
Missing SgTbl ASL (OEMID=SgRef)

For some reason, Windows knows about two additional tables, SgTbl (Switchable Graphics? OEMID=SgRef) and IffsAsl (OEMID=LENOVO). How is this possible?

Some properties of this machine that may be relevant:
- EFI BIOS.
- NVIDIA Optimus laptop.
- BIOS has option for: Intel Only / Optimus.
- Without this SgTbl table, there is an error while executing
  \_SB.PCI0.PEG0.PEGP._DSM {...} because the external _STA, _PS0 and
  _PS3 methods cannot be found.

This is not the first ACPI problem with Lenovo, I wonder why they hide ACPI tables...?
Comment 5 Peter Wu 2013-07-20 16:03:42 UTC
Created attachment 106965 [details]
Missing IffsAsl ASL (OEMID=LENOVO)

This is the second table that was found besides the existing DSDT and three SSDT tables on Linux. The DSDT and other three SDSTs are completely equal to the ones dumped from Windows.
Comment 6 Lv Zheng 2013-07-23 02:37:20 UTC
The two BIOS have loaded different tables into the memory.

On the machine running Linux, it is:
[    0.000000] ACPI: RSDP 00000000caffe014 00024 (v02 LENOVO)
[    0.000000] ACPI: XSDT 00000000caffe170 000AC (v01 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: FACP 00000000cafec000 0010C (v05 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: DSDT 00000000cafee000 0E5E2 (v02 LENOVO  IVB-CPT 00000000 INTL 20061109)
[    0.000000] ACPI: FACS 00000000caf67000 00040
[    0.000000] ACPI: TCPA 00000000caffd000 00032 (v02    PTL   LENOVO 06040000 LNVO 00000001)
[    0.000000] ACPI: ASF! 00000000cafed000 000A5 (v32 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: HPET 00000000cafea000 00038 (v01 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: APIC 00000000cafe9000 00098 (v01 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: MCFG 00000000cafe8000 0003C (v01 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: FPDT 00000000cafe7000 00064 (v01 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: SSDT 00000000cafe6000 009AA (v01  PmRef  Cpu0Ist 00003000 INTL 20061109)
[    0.000000] ACPI: SSDT 00000000cafe5000 00A92 (v01  PmRef    CpuPm 00003000 INTL 20061109)
[    0.000000] ACPI: DMAR 00000000cafe4000 000B8 (v01 INTEL      SNB  00000001 INTL 00000001)
[    0.000000] ACPI: UEFI 00000000cafe3000 0003E (v01 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: UEFI 00000000cafe2000 00042 (v01 PTL      COMBUF 00000001 PTL  00000001)
[    0.000000] ACPI: MSDM 00000000cafe1000 00055 (v03 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: SSDT 00000000cafe0000 0070E (v01 NvORef NvOptTbl 00001000 INTL 20061109)
[    0.000000] ACPI: UEFI 00000000cafdf000 002BA (v01 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: DBG2 00000000cafde000 0006B (v00 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: BGRT 00000000cafdd000 00038 (v00 LENOVO TP-H6    00002080 PTL  00000002)

While on the machine running Windows 7:
Entry0	0x00000000CAFEC000 (FACP) FACP 00000000cafec000 
Entry1	0x00000000CAFFD000 (TCPA) TCPA 00000000caffd000 
Entry2	0x00000000CAFED000 (ASF!) ASF! 00000000cafed000 
Entry3	0x00000000CAFEA000 (HPET) HPET 00000000cafea000 
Entry4	0x00000000CAFE9000 (APIC) APIC 00000000cafe9000 
Entry5	0x00000000CAFE8000 (MCFG) MCFG 00000000cafe8000 
Entry6	0x00000000CAFE7000 (FPDT) FPDT 00000000cafe7000 
Entry7	0x00000000CAFE6000 (SSDT) SSDT 00000000cafe6000 
Entry8	0x00000000CAFE5000 (SSDT) SSDT 00000000cafe5000 
Entry9	0x00000000CAFE4000 (UEFI) DMAR 00000000cafe4000 *
Entry10	0x00000000CAFE3000 (UEFI) UEFI 00000000cafe3000 
Entry11	0x00000000CAFE2000 (MSDM) UEFI 00000000cafe2000 *
Entry12	0x00000000CAFE1000 (SSDT) MSDM 00000000cafe1000 *
Entry13	0x00000000CAFE0000 (SSDT) SSDT 00000000cafe0000
Entry14	0x00000000CAFDF000 (SSDT) UEFI 00000000cafdf000 *
Entry15	0x00000000CAFDE000 (UEFI) DBG2 00000000cafde000 *
Entry16	0x00000000CAFDD000 (DBG2) BGRT 00000000cafdd000 *

There are signatures from the same addresses are just different (marked by *).

I wonder if you have something in the BIOS configuration is different for these two machines.  Maybe one has something like VT-d enabled and the other does not.
Comment 7 Daniel Bech 2013-07-23 04:45:27 UTC
I made sure to keep the bios on the two machines the same. 

There is an option in the bios which allows OS detection for deciding what graphics option to use. I have this off because if I leave it on it only let's Linux use the Intel graphics. 

Maybe the bios is still detecting the OS and offering different tables? (Pure speculation)
Comment 8 Daniel Bech 2013-07-25 18:53:16 UTC
(In reply to Lv Zheng from comment #6)
> The two BIOS have loaded different tables into the memory.
> 
> On the machine running Linux, it is:
> [    0.000000] ACPI: RSDP 00000000caffe014 00024 (v02 LENOVO)
> [    0.000000] ACPI: XSDT 00000000caffe170 000AC (v01 LENOVO TP-H6   
> 00002080 PTL  00000002)
> [    0.000000] ACPI: FACP 00000000cafec000 0010C (v05 LENOVO TP-H6   
> 00002080 PTL  00000002)
> [    0.000000] ACPI: DSDT 00000000cafee000 0E5E2 (v02 LENOVO  IVB-CPT
> 00000000 INTL 20061109)
> [    0.000000] ACPI: FACS 00000000caf67000 00040
> [    0.000000] ACPI: TCPA 00000000caffd000 00032 (v02    PTL   LENOVO
> 06040000 LNVO 00000001)
> [    0.000000] ACPI: ASF! 00000000cafed000 000A5 (v32 LENOVO TP-H6   
> 00002080 PTL  00000002)
> [    0.000000] ACPI: HPET 00000000cafea000 00038 (v01 LENOVO TP-H6   
> 00002080 PTL  00000002)
> [    0.000000] ACPI: APIC 00000000cafe9000 00098 (v01 LENOVO TP-H6   
> 00002080 PTL  00000002)
> [    0.000000] ACPI: MCFG 00000000cafe8000 0003C (v01 LENOVO TP-H6   
> 00002080 PTL  00000002)
> [    0.000000] ACPI: FPDT 00000000cafe7000 00064 (v01 LENOVO TP-H6   
> 00002080 PTL  00000002)
> [    0.000000] ACPI: SSDT 00000000cafe6000 009AA (v01  PmRef  Cpu0Ist
> 00003000 INTL 20061109)
> [    0.000000] ACPI: SSDT 00000000cafe5000 00A92 (v01  PmRef    CpuPm
> 00003000 INTL 20061109)
> [    0.000000] ACPI: DMAR 00000000cafe4000 000B8 (v01 INTEL      SNB 
> 00000001 INTL 00000001)
> [    0.000000] ACPI: UEFI 00000000cafe3000 0003E (v01 LENOVO TP-H6   
> 00002080 PTL  00000002)
> [    0.000000] ACPI: UEFI 00000000cafe2000 00042 (v01 PTL      COMBUF
> 00000001 PTL  00000001)
> [    0.000000] ACPI: MSDM 00000000cafe1000 00055 (v03 LENOVO TP-H6   
> 00002080 PTL  00000002)
> [    0.000000] ACPI: SSDT 00000000cafe0000 0070E (v01 NvORef NvOptTbl
> 00001000 INTL 20061109)
> [    0.000000] ACPI: UEFI 00000000cafdf000 002BA (v01 LENOVO TP-H6   
> 00002080 PTL  00000002)
> [    0.000000] ACPI: DBG2 00000000cafde000 0006B (v00 LENOVO TP-H6   
> 00002080 PTL  00000002)
> [    0.000000] ACPI: BGRT 00000000cafdd000 00038 (v00 LENOVO TP-H6   
> 00002080 PTL  00000002)
> 
> While on the machine running Windows 7:
> Entry0        0x00000000CAFEC000 (FACP) FACP 00000000cafec000 
> Entry1        0x00000000CAFFD000 (TCPA) TCPA 00000000caffd000 
> Entry2        0x00000000CAFED000 (ASF!) ASF! 00000000cafed000 
> Entry3        0x00000000CAFEA000 (HPET) HPET 00000000cafea000 
> Entry4        0x00000000CAFE9000 (APIC) APIC 00000000cafe9000 
> Entry5        0x00000000CAFE8000 (MCFG) MCFG 00000000cafe8000 
> Entry6        0x00000000CAFE7000 (FPDT) FPDT 00000000cafe7000 
> Entry7        0x00000000CAFE6000 (SSDT) SSDT 00000000cafe6000 
> Entry8        0x00000000CAFE5000 (SSDT) SSDT 00000000cafe5000 
> Entry9        0x00000000CAFE4000 (UEFI) DMAR 00000000cafe4000 *
> Entry10       0x00000000CAFE3000 (UEFI) UEFI 00000000cafe3000 
> Entry11       0x00000000CAFE2000 (MSDM) UEFI 00000000cafe2000 *
> Entry12       0x00000000CAFE1000 (SSDT) MSDM 00000000cafe1000 *
> Entry13       0x00000000CAFE0000 (SSDT) SSDT 00000000cafe0000
> Entry14       0x00000000CAFDF000 (SSDT) UEFI 00000000cafdf000 *
> Entry15       0x00000000CAFDE000 (UEFI) DBG2 00000000cafde000 *
> Entry16       0x00000000CAFDD000 (DBG2) BGRT 00000000cafdd000 *
> 
> There are signatures from the same addresses are just different (marked by
> *).
> 
> I wonder if you have something in the BIOS configuration is different for
> these two machines.  Maybe one has something like VT-d enabled and the other
> does not.

Also please dont hesitate to ask if you want me to dump more tables etc 
I have access to at least one of these machines 24/7 and will help in anyway I can
Comment 9 Daniel Bech 2013-07-29 19:29:08 UTC
Created attachment 107037 [details]
ACPI tables dumped with RW-Everything on Windows 8 from the linux laptop

I had to install windows for this semester as I need it for a unit. I have dumped the ACPI tables and am currently comparing them.
Comment 10 Lv Zheng 2013-12-05 07:41:25 UTC
So what's the comparing result?
Comment 11 Lv Zheng 2013-12-05 09:43:02 UTC
Well, they are exactly same:

Entry0	0x00000000CAFEC000 (FACP)
Entry1	0x00000000CAFFD000 (TCPA)
Entry2	0x00000000CAFED000 (ASF!)
Entry3	0x00000000CAFEA000 (HPET)
Entry4	0x00000000CAFE9000 (APIC)
Entry5	0x00000000CAFE8000 (MCFG)
Entry6	0x00000000CAFE7000 (FPDT)
Entry7	0x00000000CAFE6000 (SSDT)
Entry8	0x00000000CAFE5000 (SSDT)
Entry9	0x00000000CAFE4000 (DMAR)
Entry10	0x00000000CAFE3000 (UEFI)
Entry11	0x00000000CAFE2000 (UEFI)
Entry12	0x00000000CAFE1000 (MSDM)
Entry13	0x00000000CAFE0000 (SSDT)
Entry14	0x00000000CAFDF000 (UEFI)
Entry15	0x00000000CAFDE000 (DBG2)
Entry16	0x00000000CAFDD000 (BGRT)

[    0.000000] ACPI: FACP 00000000cafec000 0010C (v05 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: TCPA 00000000caffd000 00032 (v02    PTL   LENOVO 06040000 LNVO 00000001)
[    0.000000] ACPI: ASF! 00000000cafed000 000A5 (v32 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: HPET 00000000cafea000 00038 (v01 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: APIC 00000000cafe9000 00098 (v01 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: MCFG 00000000cafe8000 0003C (v01 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: FPDT 00000000cafe7000 00064 (v01 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: SSDT 00000000cafe6000 009AA (v01  PmRef  Cpu0Ist 00003000 INTL 20061109)
[    0.000000] ACPI: SSDT 00000000cafe5000 00A92 (v01  PmRef    CpuPm 00003000 INTL 20061109)
[    0.000000] ACPI: DMAR 00000000cafe4000 000B8 (v01 INTEL      SNB  00000001 INTL 00000001)
[    0.000000] ACPI: UEFI 00000000cafe3000 0003E (v01 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: UEFI 00000000cafe2000 00042 (v01 PTL      COMBUF 00000001 PTL  00000001)
[    0.000000] ACPI: MSDM 00000000cafe1000 00055 (v03 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: SSDT 00000000cafe0000 0070E (v01 NvORef NvOptTbl 00001000 INTL 20061109)
[    0.000000] ACPI: UEFI 00000000cafdf000 002BA (v01 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: DBG2 00000000cafde000 0006B (v00 LENOVO TP-H6    00002080 PTL  00000002)
[    0.000000] ACPI: BGRT 00000000cafdd000 00038 (v00 LENOVO TP-H6    00002080 PTL  00000002)

I'm going to close the bug if no responses can be seen for 1 week.
Comment 12 Lv Zheng 2013-12-09 00:33:51 UTC
Closed due to invalid report.

Note You need to log in before you can comment on or make changes to this bug.