View previous topic :: View next topic |
Author |
Message |
int2str Guru
Joined: 29 Sep 2003 Posts: 362
|
|
Back to top |
|
|
gmichels Guru
Joined: 20 Jun 2003 Posts: 480 Location: Brazil
|
Posted: Fri May 28, 2004 4:16 pm Post subject: |
|
|
I'm having some problems to patch my kernel (2.6.6-love4). I don't use initrd, so the DSDT must be inside the kernel. Here's the output:
Code: | # patch -Np1 --dry-run < /root/ze4430us/acpi/dsdt_override.patch
patching file drivers/acpi/osl.c
Hunk #2 FAILED at 209.
1 out of 2 hunks FAILED -- saving rejects to file drivers/acpi/osl.c.rej |
My osl.c has the following significant part (I guess):
Code: | acpi_os_table_override (struct acpi_table_header *existing_table,
struct acpi_table_header **new_table)
{
if (!existing_table || !new_table)
return AE_BAD_PARAMETER;
#ifdef CONFIG_ACPI_INITRD
if (!memcmp(existing_table, "DSDT", 4) && (dsdt_start != NULL)) {
printk(KERN_INFO "ACPI: Using customized DSDT\n");
*new_table = (struct acpi_table_header*)dsdt_start;
} else
#endif
*new_table = NULL;
return AE_OK;
} |
I don't have much knowledge in this, so maybe someone can help me solve the error here.
Maybe there's a new version of the override patch, as I am using the one listed in the first page. What is the bug number for that attachment?
thanks |
|
Back to top |
|
|
Legoguy Apprentice
Joined: 22 Dec 2003 Posts: 166 Location: Edmonton, Alberta, Canada
|
Posted: Fri May 28, 2004 10:15 pm Post subject: |
|
|
Hmm... for some reason, I don't see this problem anymore in Linux - I didn't do any DSDT changes or anything. It may have been the latest BIOS upgrade from HP, released some time ago... haven't throuroughly tested it in Windows but it may still be happening in there.
Kernel 2.6.6-mm4. |
|
Back to top |
|
|
robmoss Retired Dev
Joined: 27 May 2003 Posts: 2634 Location: Jesus College, Oxford
|
Posted: Thu Jun 03, 2004 8:41 pm Post subject: |
|
|
Well, I'm thoroughly pissed off now. I've gone to all this trouble and now I find that the Gigabyte GA-7DX has somewhat incomplete ACPI support! I *think* that the F8 BIOS update fixes this... BUT that's only for Rev 3.0 motherboards and newer; mine is a 2.2. And trying to use that has already caused one reinstall. One is quite enough, thanks...
However, I shall persevere. Does anyone have any experience with writing new bits of AML? Can one generally just copy-and-paste things in from a working DSDT from a different board? Or is it much, much more subtle and complicated than that? _________________ Reality is for those who can't face Science Fiction.
emerge -U will kill your Gentoo
ecatmur, Lord of Portage Bash Scripts |
|
Back to top |
|
|
gmichels Guru
Joined: 20 Jun 2003 Posts: 480 Location: Brazil
|
Posted: Fri Jun 04, 2004 3:59 am Post subject: |
|
|
Ok so I went the other way, decided to try the initrd approach. Before I could get into that, I managed to clean 2 errors and 3 warnings from my original dsdt. Now there's one error left, and I really can't find a solution for this.
Code: | # ./iasl -tc dsdt.dsl
Intel ACPI Component Architecture
ASL Optimizing Compiler / AML Disassembler version 20030918 [Sep 18 2003]
Copyright (C) 2000 - 2003 Intel Corporation
Supports ACPI Specification Revision 2.0b
dsdt.dsl 610: If (LNot (LEqual (ShiftRight (And (Local1, 0x10), 0x03), And (Local2, 0x02))))
Error 1013 - Method local variable is not initialized ^ (Local1)
ASL Input: dsdt.dsl - 5313 lines, 187398 bytes, 2576 keywords
Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 791 Optimizations |
I googled and searched the acpi devel archives, no solutions for it. So maybe a good soul here can help me out.
Links for my DSDT and dmesg output.
cheers |
|
Back to top |
|
|
int2str Guru
Joined: 29 Sep 2003 Posts: 362
|
|
Back to top |
|
|
gmichels Guru
Joined: 20 Jun 2003 Posts: 480 Location: Brazil
|
Posted: Fri Jun 04, 2004 1:05 pm Post subject: |
|
|
Success!
Code: | ACPI: Using customized DSDT
ACPI-0196: *** Warning: Invalid checksum in table [DSDT] (A5, sum 45 is not zero)
ACPI-0299: *** Info: Table [DSDT] replaced by host OS |
Should I worry about that 0196 warning?
Thanks a lot for all the help guys. |
|
Back to top |
|
|
Mattwolf7 n00b
Joined: 14 Mar 2004 Posts: 73
|
Posted: Tue Jun 29, 2004 9:57 pm Post subject: Compile Error |
|
|
I cannot get the intel iasl to compile...
Intels Instructions:
Code: | $ wget http://www.intel.com/technology/iapc/acpi/downloads/acpica-unix-20040527.tar.gz
$ tar xzf acpica-unix-20040527.tar.gz
$ cd acpica-unix-20040527/compiler
$ make
|
My output...
Code: | bison -v -d -y -pAslCompiler aslcompiler.y
conflicts: 33 shift/reduce, 47 reduce/reduce
aslcompiler.y:882.7-81: warning: rule never reduced because of conflicts: TermArg: Type2IntegerOpcode
aslcompiler.y:883.7-81: warning: rule never reduced because of conflicts: TermArg: Type2StringOpcode
aslcompiler.y:884.7-81: warning: rule never reduced because of conflicts: TermArg: Type2BufferOpcode
aslcompiler.y:885.7-81: warning: rule never reduced because of conflicts: TermArg: Type2BufferOrStringOpcode
aslcompiler.y:1473.7-38: warning: rule never reduced because of conflicts: CaseTermList: CaseTerm
aslcompiler.y:1482.7-38: warning: rule never reduced because of conflicts: DefaultTermList: CaseTerm
cp y.tab.c aslcompilerparse.c
cp y.tab.h aslcompiler.y.h
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslcompilerparse.o aslcompilerparse.c
flex -i -PAslCompiler -oaslcompilerlex.c aslcompiler.l
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslcompilerlex.o aslcompilerlex.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslanalyze.o aslanalyze.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslcodegen.o aslcodegen.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslcompile.o aslcompile.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslerror.o aslerror.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslfiles.o aslfiles.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o asllength.o asllength.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o asllisting.o asllisting.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslload.o aslload.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o asllookup.o asllookup.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslmain.o aslmain.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslmap.o aslmap.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslopcodes.o aslopcodes.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o asloperands.o asloperands.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslresource.o aslresource.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslrestype1.o aslrestype1.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslrestype2.o aslrestype2.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o asltree.o asltree.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslutils.o aslutils.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o asltransform.o asltransform.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslfold.o aslfold.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslstubs.o aslstubs.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o aslopt.o aslopt.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o ../common/getopt.o ../common/getopt.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o ../utilities/utalloc.o ../utilities/utalloc.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o ../utilities/utcopy.o ../utilities/utcopy.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o ../utilities/utdebug.o ../utilities/utdebug.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o ../utilities/utdelete.o ../utilities/utdelete.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o ../utilities/utglobal.o ../utilities/utglobal.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o ../utilities/utobject.o ../utilities/utobject.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o ../utilities/utmisc.o ../utilities/utmisc.c
gcc -Wall -O2 -Wstrict-prototypes -D_LINUX -D_ACPI_ASL_COMPILER -I../include -c -o ../utilities/utmath.o ../utilities/utmath.c
make: *** No rule to make target `../namespace/nsaccess.o', needed by `aslmain'. Stop.
|
Tried it on another computer, same response.
The error looks like they messed up the make file.
----
Extra info for fun:
HP Pavilion ze4610US Laptop
AMD 2500+ Mobile
BIOS Version: KA.M1.59
I assume these are the right steps to follow because when I compile ACPI (everything modular) the system hangs on boot.
Thanks |
|
Back to top |
|
|
int2str Guru
Joined: 29 Sep 2003 Posts: 362
|
Posted: Tue Jun 29, 2004 10:07 pm Post subject: |
|
|
After you unpack the tar.gz file, many direcotries are going to be all uppercase. You have to rename them all to lowercase. namespace is one of those directories. _________________ Adpot an unanswered post today! |
|
Back to top |
|
|
Mattwolf7 n00b
Joined: 14 Mar 2004 Posts: 73
|
Posted: Tue Jun 29, 2004 10:29 pm Post subject: |
|
|
wow... good job Intel.
Ok so now what am i supposed to do since I cannot boot with my ACPI compiled in the kernel?
*EDIT* - 7/2/04
Got it working! I found out th at my hardware on the HP ze4610us is exactly the same as the Compaq 2100. There was a working ACPI fix on http://acpi.sourceforge.net/
Compaq Presario 2100 and HP Pavilion ze4610us
http://acpi.sourceforge.net/dsdt/view.php?id=207
Last edited by Mattwolf7 on Fri Jul 02, 2004 1:42 pm; edited 1 time in total |
|
Back to top |
|
|
neuron Advocate
Joined: 28 May 2002 Posts: 2371
|
Posted: Fri Jul 02, 2004 12:24 pm Post subject: |
|
|
Code: |
dsdt.dsl 1883: Store (Arg2, DAT3)
Error 1014 - Method argument is not initialized ^ (Arg2)
dsdt.dsl 1883: Store (Arg2, DAT3)
Remark 3041 - Not a parameter, used as local only ^ (Arg2)
|
can anyone help me figure this one out?
the code in question:
Code: |
Method (RAMW, 2, NotSerialized)
{
Acquire (MUTX, 0xFFFF)
If (LGreater (Arg0, 0x7F))
{
Store (Arg2, DAT3)
}
Store (Arg0, DAT2)
Store (Arg1, DAT1)
Store (0xBB, CMCD)
Store (0x64, Local1)
|
|
|
Back to top |
|
|
Quantumstate Apprentice
Joined: 26 May 2004 Posts: 270 Location: Dallas
|
Posted: Sun Jul 04, 2004 1:36 pm Post subject: |
|
|
int2str wrote: | After you unpack the tar.gz file, many directories are going to be all uppercase. You have to rename them all to lowercase. |
Man, thank you Int2str, and especially Jetblack.
Made changes to my dsdt.dsl, which compiles fine now (excepting the Remark at bottom hereto); only had to add Jetblack's RETURN in 7 places. (IBM Stinkpad A22p)
But after compiling the .hex into the kernel (/usr/src/linux/include/acpi/dsdt_table.h) and rebooting, my dsdt table is unchanged. (tested by re-dumping/disassembling/compiling) This is gentoo kernel 2.6.5-r1, which appears to already have the patch.
In looking at the drivers/acpi/system.c file, it seemed plausible that the .hex file should actually be named dsdt.h
(#define ACPI_SYSTEM_FILE_DSDT "dsdt")
, but this doesn't work either. I'll try the dynamic method now.
Be advised that on the patch site it says:
After compiling the kernel, prepare your initrd:
echo -n "INITRDDSDT123DSDT123" >> /boot/initrd # magic signature
cat DSDT.aml >> /boot/initrd
Version 0.4 for 2.6 kernels also needs an end-signature:
echo -n "INITRDDSDT321DSDT321" >> /boot/initrd
I should also note that if you are seeing something like:
dsdt.dsl 5401: \_SB.PCI0.CBS0.PWDN ()
Remark 3040 - Recursive method call ^ (\_SB.PCI0.CBS0.PWDN)
... don't worry.
The compiler developer sez:
There's nothing in the ACPI spec that precludes recursive methods.
However, I agree that it is a very scary thing to do.
For this reason, I have the iASL compiler issue a remark when it detects a recursive method call. |
|
Back to top |
|
|
Quantumstate Apprentice
Joined: 26 May 2004 Posts: 270 Location: Dallas
|
Posted: Mon Jul 05, 2004 2:02 am Post subject: |
|
|
OK, it's clear that the corrected dsdt is not compiled into the kernel, but it does work in initrd. ACPI devices are identified and no apparent errors.
However the klaptop applet is no longer responsive. Does not respond to right- or left-click; this is what I need to suspend. Anyone found the answer? |
|
Back to top |
|
|
Quantumstate Apprentice
Joined: 26 May 2004 Posts: 270 Location: Dallas
|
Posted: Wed Jul 07, 2004 4:09 pm Post subject: |
|
|
OK, just recompiled kdebase & kdeutils, and it works now. |
|
Back to top |
|
|
pjv Guru
Joined: 02 Jul 2003 Posts: 353 Location: Belgium
|
Posted: Wed Jul 07, 2004 8:51 pm Post subject: |
|
|
Shame on Intel !!!! |
|
Back to top |
|
|
MighMoS Guru
Joined: 24 Apr 2003 Posts: 416 Location: @ ~
|
Posted: Thu Jul 08, 2004 1:59 am Post subject: |
|
|
I feel bad for asking this, but I don't feel right blindly changing things, so I'll ask. iASL gives me: Code: | dsdt.dsl 1767: Method (_STA, 0, NotSerialized)
Warning 2019 - ^ Not all control paths return a value (_STA)
dsdt.dsl 1767: Method (_STA, 0, NotSerialized)
Warning 2026 - ^ Reserved method must return a value (_STA)
| What should it return? The relavent areas appear to be: Code: | Device (ECP)
{
Name (_HID, EisaId ("PNP0401"))
Method (_STA, 0, NotSerialized)
{
ENFG ()
Store (LDLP, LDN)
And (OPT1, 0x02, Local0)
EXFG ()
If (Local0)
{
If (LPST)
{
Return (GSTA (LDLP))
}
}
Else
{
Return (Zero)
}
}
|
_________________ jabber: MighMoS@jabber.org
localhost # export HOME=`which heart` |
|
Back to top |
|
|
c_t n00b
Joined: 29 Oct 2003 Posts: 36 Location: Berlin, Germany
|
Posted: Sat Jul 10, 2004 12:36 pm Post subject: |
|
|
Thanks to your GREAT HOWTO I was able to fix the DSDT and to get ACPI completely working on my Samsung X30 Laptop!
Especially the FF-PowerButton-Patch is great! It works perfectly with my gentoo-dev-sources-2.6.7-r9 !!
cya, christoph |
|
Back to top |
|
|
phuber Tux's lil' helper
Joined: 19 Aug 2003 Posts: 106 Location: switzerland
|
Posted: Mon Jul 12, 2004 3:41 pm Post subject: |
|
|
Thanks for this nice HowTo. I just fixed the compilation errors for my T41p.
I went with 9c and I get some strange output in dmesg:
Code: | ACPI: Looking for DSDT in initrd ... found (at offset 497877)!
not found! |
So I had a look at the patch and the output basically means, that a DSDT was found but it's not valid...
What can I do about that?
EDIT
Ok, I just found the explanation: http://gaugusch.at/kernel.shtml
Starting from Version 0.4 of the patch:
- The DSDT requires an end signature which is the same as the start signature
- the echo command now requires a "-n" |
|
Back to top |
|
|
phuber Tux's lil' helper
Joined: 19 Aug 2003 Posts: 106 Location: switzerland
|
Posted: Mon Jul 12, 2004 4:47 pm Post subject: |
|
|
Ok, I'm still at the same place where I've been before patching the DSDT. According to dmesg the ECDT can be found.
When I throw the system to S3 and wake it up again, the screen does not turn on again (trying a minimum w/o X, and neither fb nor resolution selection for text consoles).
This is what's written to the log when I go to S3. The only thing that doesn't look so good is this "Back to C!" yet I have no idea what it means. It's been there before patching the DSDT.
Code: | Jul 12 18:29:50 deadbeef PM: Preparing system for suspend
Jul 12 18:29:50 deadbeef Stopping tasks: =========================|
Jul 12 18:29:50 deadbeef PM: Entering state.
Jul 12 18:29:50 deadbeef hwsleep-0304 [188] acpi_enter_sleep_state: Entering sleep state [S3]
Jul 12 18:29:50 deadbeef Back to C!
Jul 12 18:29:50 deadbeef Warning: CPU frequency out of sync: cpufreq and timingcore thinks of 600000, is 1700000 kHz.
Jul 12 18:29:50 deadbeef PM: Finishing up.
Jul 12 18:29:50 deadbeef ACPI: PCI interrupt 0000:00:1d.0[A] -> GSI 11 (level, low) -> IRQ 11
Jul 12 18:29:50 deadbeef PCI: Setting latency timer of device 0000:00:1d.0 to 64
Jul 12 18:29:50 deadbeef ACPI: PCI interrupt 0000:00:1d.1[B] -> GSI 11 (level, low) -> IRQ 11
Jul 12 18:29:50 deadbeef PCI: Setting latency timer of device 0000:00:1d.1 to 64
Jul 12 18:29:50 deadbeef ACPI: PCI interrupt 0000:00:1d.2[C] -> GSI 11 (level, low) -> IRQ 11
Jul 12 18:29:50 deadbeef PCI: Setting latency timer of device 0000:00:1d.2 to 64
Jul 12 18:29:50 deadbeef ACPI: PCI interrupt 0000:00:1d.7[D] -> GSI 11 (level, low) -> IRQ 11
Jul 12 18:29:50 deadbeef PCI: Setting latency timer of device 0000:00:1d.7 to 64
Jul 12 18:29:50 deadbeef ACPI: PCI interrupt 0000:00:1f.1[A] -> GSI 11 (level, low) -> IRQ 11
Jul 12 18:29:50 deadbeef ACPI: PCI interrupt 0000:00:1f.5[B] -> GSI 11 (level, low) -> IRQ 11
Jul 12 18:29:50 deadbeef PCI: Setting latency timer of device 0000:00:1f.5 to 64
Jul 12 18:29:50 deadbeef PCI: Enabling device 0000:02:01.0 (0000 -> 0003)
Jul 12 18:29:50 deadbeef ACPI: PCI interrupt 0000:02:01.0[A] -> GSI 11 (level, low) -> IRQ 11
Jul 12 18:29:50 deadbeef ACPI: PCI interrupt 0000:02:02.0[A] -> GSI 11 (level, low) -> IRQ 11
Jul 12 18:29:50 deadbeef Restarting tasks...<6>e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex
Jul 12 18:29:50 deadbeef MCE: The hardware reports a non fatal, correctable incident occurred on CPU 0.
Jul 12 18:29:50 deadbeef Bank 1: f2000000000001b5
Jul 12 18:29:50 deadbeef done
Jul 12 18:29:50 deadbeef Warning: CPU frequency out of sync: cpufreq and timing core thinks of 600000, is 1700000 kHz.
|
Searching for the _OS Variable, I found the following. Does anyone know what this is doing? It sets some values depending on the Operating System (Note: Windows 2001) but what does that mean for me?
[EDIT] This here http://www.microsoft.com/whdc/system/pnppwr/powermgmt/_OSI-method.mspx explains the 2001 - it means Windows XP - and pointed out the _OSI Method. I didn't see that before [/EDIT]
Code: | Scope (\_SB)
{
Method (_INI, 0, NotSerialized)
{
If (LEqual (\SCMP (\_OS, "Microsoft Windows"), Zero))
{
Store (0x01, \W98F)
}
Else
{
If (CondRefOf (\_OSI, Local0))
{
If (\_OSI ("Windows 2001"))
{
Store (0x02, \WNTF)
}
}
Else
{
If (LEqual (\SCMP (\_OS, "Microsoft Windows NT"), Zero))
{
Store (0x01, \WNTF)
}
Else
{
If (LEqual (\SCMP (\_OS, "Microsoft WindowsME: Millennium Edition"), Zero))
{
Store (0x01, \WMEF)
Store (0x01, \W98F)
}
}
}
}
If (LNot (LLess (\_REV, 0x02)))
{
Store (0x01, \H8DR)
}
Store (0x01, \OSIF)
\_SB.PCI0.LPC.MOU.MHID ()
Store (\SRP0, \_SB.PCI0.RID)
Store (\SRAG, \_SB.PCI0.AGP.RID)
}
|
|
|
Back to top |
|
|
dambacher Apprentice
Joined: 11 Feb 2003 Posts: 289 Location: Germany
|
Posted: Fri Jul 23, 2004 8:19 pm Post subject: DSDT-Patch for kernel 2.6.7 |
|
|
If someone is interested in using a custom dsdt in kernel 2.6.7. I just made a little patch for this.
Code: |
--- linux-2.6.7/drivers/acpi/Kconfig.orig 2004-07-17 10:34:39.000000000 +0200
+++ linux-2.6.7/drivers/acpi/Kconfig 2004-07-17 10:28:11.000000000 +0200
@@ -204,6 +204,23 @@
If you have a legacy free Toshiba laptop (such as the Libretto L1
series), say Y.
+config ACPI_CUSTOM_TABLE
+ bool "Include Custom ACPI Table"
+ depends on X86
+ depends on ACPI_INTERPRETER
+ default ""
+ help
+ Thist option is to load a custom acpi dsdt table, e.g. for buggy acpi
+ implementations like on DELL inspiron 5100
+
+config ACPI_CUSTOM_TABLE_FILE
+ string "Custom ACPI Table file to include"
+ depends on ACPI_CUSTOM_TABLE
+ default ""
+ help
+ please enter the full path name to the file wich includes the AmlCode delclaration
+
+
config ACPI_DEBUG
bool "Debug Statements"
depends on ACPI_INTERPRETER
--- linux-2.6.7/drivers/acpi/osl.c.orig 2004-07-17 08:39:55.000000000 +0200
+++ linux-2.6.7/drivers/acpi/osl.c 2004-07-17 10:31:51.000000000 +0200
@@ -55,6 +55,9 @@
void *context;
};
+#ifdef CONFIG_ACPI_CUSTOM_TABLE
+#include CONFIG_ACPI_CUSTOM_TABLE_FILE
+#endif
#ifdef ENABLE_DEBUGGER
#include <linux/kdb.h>
@@ -235,7 +238,14 @@
if (!existing_table || !new_table)
return AE_BAD_PARAMETER;
+#ifdef CONFIG_ACPI_CUSTOM_TABLE
+ if (strncmp(existing_table->signature, "DSDT", 4) == 0)
+ *new_table = (struct acpi_table_header*)AmlCode;
+ else
+ *new_table = NULL;
+#else
*new_table = NULL;
+#endif
return AE_OK;
}
|
It works with my DELL inspiron 5100 custom dsdt. |
|
Back to top |
|
|
X-Drum Advocate
Joined: 24 Aug 2003 Posts: 2517 Location: ('Modica','Trieste','Ferrara') Italy
|
Posted: Sun Jul 25, 2004 3:53 pm Post subject: |
|
|
neuron wrote: |
can anyone help me figure this one out?
the code in question:
Code: |
Method (RAMW, 2, NotSerialized)
{
Acquire (MUTX, 0xFFFF)
If (LGreater (Arg0, 0x7F))
{
Store (Arg2, DAT3)
}
Store (Arg0, DAT2)
Store (Arg1, DAT1)
Store (0xBB, CMCD)
Store (0x64, Local1)
|
|
i had the same problem try this:
put Store (2, DAT3)
instead of Store (Arg2, DAT3)
now for the compiler this piece of code works!
i hope that it works also for you
bye
_________________ "...There are two sort of lies, lies and benchmarks..." |
|
Back to top |
|
|
tiv n00b
Joined: 14 Jan 2004 Posts: 16 Location: Nashville, TN
|
Posted: Fri Jul 30, 2004 11:13 pm Post subject: |
|
|
OK, another Compaq Presario 1700T user here.
I did the prescribed steps (including commenting out the blacklist), and finally
this is what I get:
Code: |
Jul 29 23:36:07 backpack tbget-0291: *** Info: Table [DSDT] replaced by host OS
Jul 29 23:36:07 backpack tbrsdt-0227: *** Error: Invalid signature where RSDP in
dicates RSDT/XSDT should be located
Jul 29 23:36:07 backpack RSDT/XSDT signature at 1FFFBABF (1fffbabf) is invalid
Jul 29 23:36:07 backpack tbrsdt-0237: *** Error: Looking for RSDT (RSDP->Rev < 2
)
Jul 29 23:36:07 backpack tbxface-0104: *** Error: acpi_load_tables: Could not lo
ad RSDT: AE_BAD_SIGNATURE
Jul 29 23:36:07 backpack tbxface-0134: *** Error: acpi_load_tables: Could not lo
ad tables: AE_BAD_SIGNATURE
|
Interestingly, if I just comment out the blacklist and don't override the DSDT, it boots up and the (presumably buggy) ACPI works (seemingly) fine.
Any comments on this ?
Thanks,
Tiv |
|
Back to top |
|
|
Cabalist n00b
Joined: 17 Feb 2004 Posts: 32
|
Posted: Fri Aug 06, 2004 1:21 am Post subject: |
|
|
gmichels, You have the same problem I have currently with the patch that is supplied in the HOWTO.
I screwed around with dambacher's patch and am getting an error on line 27. The error is "Malformed Patch Erro on Line 27: @@ -55,6 +55,9 @@ " I really want the DSDT to be static. Anyone willing to update the HowTo with new information regarding the 2.6.x kernels? I will try dambacher's patch some more ( I really like that idea.) but if some other people wouldn't mind sharing thier experiences with it that would be SUPER! |
|
Back to top |
|
|
izomorfix Tux's lil' helper
Joined: 18 Jun 2003 Posts: 81 Location: Romania
|
Posted: Sun Aug 15, 2004 7:27 pm Post subject: |
|
|
HI, I have a serious problem which is very common, but seems incorrectable:
Code: |
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0._PRT]
ACPI: PCI Interrupt Routing Table [\_SB_.PCI0.PCI1._PRT]
exfldio-0158 [41] ex_setup_region : Field [NPS2] access width (1 bytes) too large for region [FSEG] (length 0)
exfldio-0170 [41] ex_setup_region : Field [NPS2] Base+Offset+Width 6+0+1 is beyond end of region [FSEG] (length 0)
dswexec-0435 [33] ds_exec_end_op : [And]: Could not resolve operands, AE_AML_REGION_LIMIT
psparse-1133: *** Error: Method execution failed [\_SB_.PCI0.PX40.SYS3._STA] (Node c113cc88), AE_AML_REGION_LIMIT
exfldio-0158 [56] ex_setup_region : Field [ACPR] access width (1 bytes) too large for region [FSEG] (length 0)
exfldio-0170 [56] ex_setup_region : Field [ACPR] Base+Offset+Width 0+0+1 is beyond end of region [FSEG] (length 0)
psparse-1133: *** Error: [NULL NAME], AE_AML_REGION_LIMIT
psparse-1133: *** Error: Method execution failed [\ISMI] (Node c7fe5c08), AE_AML_REGION_LIMIT
psparse-1133: *** Error: Method execution failed [\_SB_.PCI0.PX40.FDC0._STA] (Node c113b988), AE_AML_REGION_LIMIT
exfldio-0158 [56] ex_setup_region : Field [ACPR] access width (1 bytes) too large for region [FSEG] (length 0)
exfldio-0170 [56] ex_setup_region : Field [ACPR] Base+Offset+Width 0+0+1 is beyond end of region [FSEG] (length 0)
psparse-1133: *** Error: [NULL NAME], AE_AML_REGION_LIMIT
psparse-1133: *** Error: Method execution failed [\ISMI] (Node c7fe5c08), AE_AML_REGION_LIMIT
psparse-1133: *** Error: Method execution failed [\_SB_.PCI0.PX40.LPT_._STA] (Node c113bc08), AE_AML_REGION_LIMIT
exfldio-0158 [56] ex_setup_region : Field [ACPR] access width (1 bytes) too large for region [FSEG] (length 0)
exfldio-0170 [56] ex_setup_region : Field [ACPR] Base+Offset+Width 0+0+1 is beyond end of region [FSEG] (length 0)
psparse-1133: *** Error: [NULL NAME], AE_AML_REGION_LIMIT
psparse-1133: *** Error: Method execution failed [\ISMI] (Node c7fe5c08), AE_AML_REGION_LIMIT
psparse-1133: *** Error: Method execution failed [\_SB_.PCI0.PX40.ECP_._STA] (Node c113a788), AE_AML_REGION_LIMIT
exfldio-0158 [56] ex_setup_region : Field [ACPR] access width (1 bytes) too large for region [FSEG] (length 0)
exfldio-0170 [56] ex_setup_region : Field [ACPR] Base+Offset+Width 0+0+1 is beyond end of region [FSEG] (length 0)
psparse-1133: *** Error: [NULL NAME], AE_AML_REGION_LIMIT
psparse-1133: *** Error: Method execution failed [\ISMI] (Node c7fe5c08), AE_AML_REGION_LIMIT
psparse-1133: *** Error: Method execution failed [\_SB_.PCI0.PX40.UAR1._STA] (Node c113a988), AE_AML_REGION_LIMIT
exfldio-0158 [56] ex_setup_region : Field [ACPR] access width (1 bytes) too large for region [FSEG] (length 0)
exfldio-0170 [56] ex_setup_region : Field [ACPR] Base+Offset+Width 0+0+1 is beyond end of region [FSEG] (length 0)
psparse-1133: *** Error: [NULL NAME], AE_AML_REGION_LIMIT
psparse-1133: *** Error: Method execution failed [\ISMI] (Node c7fe5c08), AE_AML_REGION_LIMIT
psparse-1133: *** Error: Method execution failed [\_SB_.PCI0.PX40.UAR2._STA] (Node c1139488), AE_AML_REGION_LIMIT
exfldio-0158 [56] ex_setup_region : Field [ACPR] access width (1 bytes) too large for region [FSEG] (length 0)
exfldio-0170 [56] ex_setup_region : Field [ACPR] Base+Offset+Width 0+0+1 is beyond end of region [FSEG] (length 0)
psparse-1133: *** Error: [NULL NAME], AE_AML_REGION_LIMIT
psparse-1133: *** Error: Method execution failed [\ISMI] (Node c7fe5c08), AE_AML_REGION_LIMIT
psparse-1133: *** Error: Method execution failed [\_SB_.PCI0.PX40.IRDA._STA] (Node c1139708), AE_AML_REGION_LIMIT
exfldio-0158 [41] ex_setup_region : Field [NPS2] access width (1 bytes) too large for region [FSEG] (length 0)
exfldio-0170 [41] ex_setup_region : Field [NPS2] Base+Offset+Width 6+0+1 is beyond end of region [FSEG] (length 0)
dswexec-0435 [33] ds_exec_end_op : [And]: Could not resolve operands, AE_AML_REGION_LIMIT
psparse-1133: *** Error: Method execution failed [\_SB_.PCI0.PX40.PS2M._STA] (Node c1139f88), AE_AML_REGION_LIMIT
exfldio-0158 [42] ex_setup_region : Field [MMSZ] access width (1 bytes) too large for region [FSEG] (length 0)
exfldio-0170 [42] ex_setup_region : Field [MMSZ] Base+Offset+Width 4+0+1 is beyond end of region [FSEG] (length 0)
psparse-1133: *** Error: Method execution failed [\_SB_.MEMS] (Node c7fe4d08), AE_AML_REGION_LIMIT
psparse-1133: *** Error: Method execution failed [\_SB_.MEM1._CRS] (Node c7fe4e08), AE_AML_REGION_LIMIT
uteval-0158: *** Error: Method execution failed [\_SB_.MEM1._CRS] (Node c7fe4e08), AE_AML_REGION_LIMIT
|
I am desperate, please tell me what to post, dsdt.dsl ,etc _________________ 0100100100100000011011000110111101110110
0110010100100000010001110110010101101110
01110100011011110110111100100001 |
|
Back to top |
|
|
YR n00b
Joined: 08 Sep 2004 Posts: 2
|
Posted: Wed Sep 08, 2004 10:57 am Post subject: About initrd override with bootsplash method |
|
|
Gentelmen!
One guestion: can I interpret your frase
>If you are already using an initrd for something, like bootsplash,
>you can still use this method
for /boot/initrd-number_of_linux_version.img" ? Or I cannot use initrd IMAGE file for this method?
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|