[Hotplug_sig] acpi emulation for memory hotplug. [0/3] README

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hi,

On Fri, 9 Jun 2006 19:36:52 -0700
Bryce Harrington <bryce at osdl.org> wrote:

> > download ACPI CA - Unix Build Environment (.TAR.GZ 819KB)
> > from http://www.intel.com/technology/iapc/acpi/downloads.htm
> >  
> >  [kamezawa at casares src]$ tar xpzf acpica-unix-20060512.tar.gz
> >  [kamezawa at casares src]$ cd acpica-unix-20060512
> >  [kamezawa at casares acpica-unix-20060512]$ cd compiler/
> >  [kamezawa at casares compiler]$ make
> >  
> > you get 'iasl'
> 
> You should define what iasl is at this point - I take it that it's a
> decompiler? 
>   
compiler + decompiler etc..


> > 1-2 get your machine's original acpi DSDT information
> 
> Could you explain at this point in the README what 'DSDT' means?
> 
Hmm...should I assume a reader doesn't know nothing about acpi ?
But ok, I'll refresh this doc easier to read.


> >  [kamezawa at casares compiler]$ su
> >  Password:
> >  [root at casares compiler]# cat /proc/acpi/dsdt  > dsdt.org
> > 
> > 1-3 Because dsdt.org is binary, you have to decompile it.
> > 
> >  [kamezawa at casares compiler]$ iasl -d dsdt.org
> > 
> >  you get dsdt.dsl. this is human readble.
> >  
> > 1-4 modify dsdt as you want
> >  modify dsdt.dsl by hand (how to modify will be described later.)
> >  
> > 1-5 compile your dsdt
> >  
> >  [kamezawa at casares compiler]$ iasl -tc dsdt.dsl
> >  'dsdt.hex' is generated.
> >  You have to include this dsdt.hex to linux kernel at compile.
> >  
> > 1-6 apply patches to before compiling your kernel 
> >  You can't do acpi-sci-emulation without patch.
> >  apply attached patches to your kernel.
> > 
> > [1] acpi_sci_emulation.patch  -- emulate notify
> > [2] acpi_memhotplug_emu.patch -- emulate power switch of memory
> > [3] hide-system-ram-resource.patch -- hide system ram information 
> >                                       for avoiding conflicts
> > 
> > 1-7 configure your custom kernel
> > 
> > At first, say N (remove check) here:
> > 
> >  Device Drivers  ---> 
> >  	Generic Driver Options  --->
> >  		[ ] Select only drivers that don't need compile-time external firmware
> > 
> > Then, you can include your custom firmware.
> > 
> > Check this: 
> >  Power management and ACPI  --->
> >  	ACPI (Advanced Configuration and Power Interface) Support  --->
> >  		 [ ]   Include Custom DSDT (NEW)
> 
> maybe show the check explicitly?
>   		 [X]   Include Custom DSDT (NEW)
> 
Ah, looks good. Okay.


> 
> > Then, 
> > 
> >  () Custom DSDT Table file to include (NEW)
> > 
> > will appear. give the name of your custom 'dsdt.hex' file created in 1-5.
> >  
> > And check this:
> >   []   ACPI SCI Event Emulation Support 
> 
>    [X]   ACPI SCI Event Emulation Support 
> 
> > 
> > 1-8 make your kernel
> > 
> > 
> > 
> > 2. How to edit DSDT for acpi memory hotplug.
> > 
> > For details, please read acpi spec.
> > This is test case for my environment.
> > 
> > I know my hardware(tiger4)'s memory is organized as
> >  0-2G
> >  4-8G
> >  10-12G.
> > 
> > But, be careful to efi's real memory map. 
> > you can get it from /proc/iomem (of unmodified kernel)
> > 
> > ==
> > [kamezawa at casares linux-2.6.17-rc5-mm2]$ cat /proc/iomem | grep System
> > 00000000-00000fff : System RAM
> > 00001000-00006fff : System RAM
> > 00007000-00008fff : System RAM
> > 00009000-00081fff : System RAM
> > 00084000-00084fff : System RAM
> > 00085000-0009ffff : System RAM
> > 00100000-03ffffff : System RAM
> > 04000000-04a83fff : System RAM
> > 04a84000-0ff7ffff : System RAM
> > 0ff80000-0fffffff : System RAM
> > 10000000-7d8fffff : System RAM
> > 7d900000-7f97ffff : System RAM
> > 7f980000-7f9fffff : System RAM
> > 7fe96000-7ff39fff : System RAM
> > 7ff3a000-7ff41fff : System RAM
> > 100000000-1ffffdfff : System RAM
> > 280000000-2fedf3fff : System RAM
> > 2fedf4000-2fedf9fff : System RAM
> > 2fedfa000-2fedfafff : System RAM
> > 2fedfb000-2fef59fff : System RAM
> > 2fef5a000-2fefb1fff : System RAM
> > 2fefb2000-2fefb9fff : System RAM
> > 2fefba000-2feffffff : System RAM
> > 2ff000000-2ff453fff : System RAM
> > 2ff454000-2ff800fff : System RAM
> > 2ff801000-2ff8c5fff : System RAM
> > 2ff8c6000-2ff8c7fff : System RAM
> > 2ff8c8000-2ff8c9fff : System RAM
> > 2ff8ca000-2ff9fbfff : System RAM
> > 2ff9fc000-2ff9fcfff : System RAM
> > 2ff9fd000-2ff9fffff : System RAM
> > 2ffa00000-2ffd85fff : System RAM
> > 2ffd86000-2ffdfffff : System RAM
> > 2ffe00000-2ffe13fff : System RAM
> > 2ffe80000-2fffb9fff : System RAM
> > ==
> > 
> > How many small regions there are! ;)
> > 
> > it looks 4G-7G memory is contiguous. I'd like to add 3 of 1G memory 
> > modules at 4G-7G to original DSDT.
> 
> How did you tell that 4G-7G is contiguous?
>  
from this.

  100000000-1ffffdfff : System RAM

I'll add what I refer to.


> > 
> > 1. avoid confliction
> > If your original DSDT has memory object, remove it. it will confilcts.
> 
> I don't understand this step - could you explain in more detail?
> 
If you want to add pseudo memory object just for test, it may have intersection
with original memory object if exists.
I think this will not be trouble in test with current implementation,
but it's buggy as firmware.
- But -
ACPI firmware which doesn't support memory hotplug is  not tend to have 
memory object. Usual people who needs emulation will not need to remove something.


Thanks, I'll discuss with Goto-san and update lhms page.

-Kame



[Index of Archives]     [Linux Kernel]     [Linux DVB]     [Asterisk Internet PBX]     [DCCP]     [Netdev]     [X.org]     [Util Linux NG]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux