> I looked at my version of acpi (20060707) downloaded from the Intel website. > > The dsdt doesnot have the _EJ0 method. Do I write it myself? Is there > an example > of how to do that? In this example, Memory device is defined like followings. Device(MEM1) { Name(_HID,EISAID("PNP0C80")) Name(_UID, 0) Name (L1st,0) Method(_PXM) { return (0x0) } Method(_STA,0,NotSerialized) { If ( LEqual(L1st,1) ) { Return (0x0f) } else { Return (0x00) } } Method(_PS0, 0, NotSerialized) { Store(1,L1st) } : So, _EJ0 should be written under this memory device. Method(_EJ0, 0, NotSerialized) { Store(0,L1st); } You have to write appropriate DSDT for your machine by yourself. Please check ACPI's specification. > What other code inside the linux kernel is required to > implement the hot remove? I am using kernel version 2.6.17. IIRC, Basically, followings are necessary yet. - Avoid new allocation of pages which belongs removing area. (This is implemented once as capture_page in Dave-san's patch set. See: http://sr71.net/patches/2.6.14/2.6.14-rc2-git8-mhp1/) - Grouping memory area between reclaimable memory and hard-reclaim memory. Kernel memory is usually hard-reclaim. If a page is used by kernel, all of its area is hard to remove. So, kernel must organize removable memory chunk as contiguous pages of?reclaimable memory' to remove it. Bye. -- Yasunori Goto