David Chieu's Weblog

David Chieu's Weblog

All | General | Java | Music | Solaris

20050614 Tuesday June 14, 2005

 A bit more elucidation on acpi-user-options, please

acpi-user-options Below is a handy dandy listing for a common question. What "acpi-user-options" should I use when I ran into ACPI (Advanced Configuration and Power Management) problems?

From the user input "acpi-user-options," it gets converted into a kernel variable acpi_user_options. See acpica_process_user_options().

The options are defined at acpica.h

#define ACPI_OUSER_DFLT         0x0000
#define ACPI_OUSER_ON           0x0001
#define ACPI_OUSER_OFF          0x0002
#define ACPI_OUSER_MADT         0x0004
#define ACPI_OUSER_LEGACY       0x0008

Here are the meanings for each.

0x0 = Switches system into ACPI mode and uses ACPI tables for IRQ routing (default)
0x1 = Forces use of ACPI interpreter even if system BIOS is too old or blacklisted
0x2 = Disables use of ACPI interpreter
0x4 = Uses ACPI tables only at the PSM module to enumerate CPUs (no IRQ routing)
0x8 = Leaved the system in “legacy” mode, identical to default acpi_intp behavior

In general, you start with acpi-user-options=0x8

Technorati Tag: OpenSolaris
Technorati Tag: Solaris


( Jun 14 2005, 03:06:28 PM PDT / Jun 14 2005, 08:57:44 AM PDT ) Permalink Comments [9]
Trackback: http://blogs.sun.com/chewmyblog/entry/a_bit_more_elucidation_on

 An Antidote to ACPI Table Replacement

table As a contrarian, I figure I would give a real hardcore and a bit obscured, but down-to-earth part of Solaris as my OpenSolaris Opening blog.

I've been working on ACPI (Advanced Configuration and Power Interface) of Solaris x86. In particular, we've implemented ACPI table replacement for problem machines. What I mean is, on those hard-to-boot machines, Solaris has capabilities to read and use alternate ACPI tables from a file system rather than from the BIOS. I can tell you this is a real godsend, if you just can't re-flash your BIOS.

The source code can be found at AcpiOsTableOverride() However, the process of actually using the alternate table is a bit mysterious because, currently, Sun doesn't supply any alternate tables yet. By default, the directory is empty at /boot/acpi/tables.

So, here is the recipe to create and boot with your own ACPI tables:

1) You need to use iasl utility (I use iasl -g) to generate your own ascii based ASL (ACPI source language)

2) Edit your ascii file to reflect your fix for the new table

3) Use iasl utility again to generate AML (AML machine language). This file must be of the form signature_oemid_oemtableid.dat

4) Copy the dat file to /boot/acpi/tables.

5) Reboot your machine and check /var/adm/messages to see if your table replacement is successful or not.

BTW, please refer to Jan Setje-Eiler's blog for more general overview of boot.

Technorati Tag: OpenSolaris
Technorati Tag: Solaris

( Jun 14 2005, 02:52:38 PM PDT / Jun 14 2005, 08:41:10 AM PDT ) Permalink Comments [4]
Trackback: http://blogs.sun.com/chewmyblog/entry/an_antidote_to_acpi_table


« June 2005
SunMonTueWedThuFriSat
   
1
2
3
4
5
6
7
8
9
10
11
12
13
15
16
17
18
19
20
21
22
23
25
26
27
28
29
30
  
       
Today


XML







Today's Page Hits: 4