[SeaBIOS] [PATCH RFC] acpi: add ssdt for cpi hotplug

Wen Congyang wency at cn.fujitsu.com
Wed Nov 2 07:08:05 CET 2011


At 11/02/2011 03:11 AM, Michael S. Tsirkin Write:
> So here's the plan: move all hotplug handling out
> to ssdt, this way it'll keep working even with a
> user-supplied dsdt. Next step we can patch
> this ssdt at runtime.
> 
> There's little point in this change alone, so posting as RFC,
> will repost with the patching part when it's ready,
> posting now to present opportunity for early feedback.
> 
> Compiled only.

Hot plug on PCI bus 0 can not work with this patch.
It can works without this patch.

I have met the following warning messages when hot removing
a PCI device:

WARNING: at /builddir/build/BUILD/kernel-2.6.32-195.el6/linux-2.6.32-195.el6.i686/arch/x86/include/asm/dma-mapping.h:154 ___free_dma_mem_cluster+0xe1/0xf0 [sym53c8xx]() (Tainted
: G        W  ----------------  )
Hardware name: Bochs
Modules linked in: sym53c8xx scsi_transport_spi autofs4 sunrpc ipt_REJECT nf_conntrack_ipv4 nf_defrag_ipv4 iptable_filter ip_tables ip6t_REJECT nf_conntrack_ipv6 nf_defrag_ipv6 xt_state nf_conntrack ip6table_filter ip6_tables ipv6 dm_mirror dm_region_hash dm_log virtio_net i6300esb virtio_balloon 8139too 8139cp mii i2c_piix4 i2c_core sg ext4 mbcache jbd2 virtio_blk sr_mod cdrom sd_mod crc_t10dif virtio_pci virtio_ring virtio pata_acpi ata_generic ata_piix dm_mod [last unloaded: mperf]
Pid: 39, comm: kacpi_notify Tainted: G        W  ----------------   2.6.32-195.el6.i686 #1
Call Trace:
 [<c0454b11>] ? warn_slowpath_common+0x81/0xc0
 [<e13bb961>] ? ___free_dma_mem_cluster+0xe1/0xf0 [sym53c8xx]
 [<e13bb961>] ? ___free_dma_mem_cluster+0xe1/0xf0 [sym53c8xx]
 [<c0454b6b>] ? warn_slowpath_null+0x1b/0x20
 [<e13bb961>] ? ___free_dma_mem_cluster+0xe1/0xf0 [sym53c8xx]
 [<e13bb764>] ? __sym_mfree+0xa4/0xf0 [sym53c8xx]
 [<e13bb806>] ? __sym_mfree_dma+0x56/0xd0 [sym53c8xx]
 [<e13b288f>] ? sym_free_resources+0x4f/0x70 [sym53c8xx]
 [<e13b2947>] ? sym_detach+0x97/0xc0 [sym53c8xx]
 [<e13b2994>] ? sym2_remove+0x24/0x50 [sym53c8xx]
 [<c0610a36>] ? pci_device_remove+0x16/0x40
 [<c06b9c8d>] ? __device_release_driver+0x4d/0xb0
 [<c06b9d9d>] ? device_release_driver+0x1d/0x30
 [<c06b8e5c>] ? bus_remove_device+0x7c/0xe0
 [<c06b6f6f>] ? device_del+0xdf/0x160
 [<c06b7009>] ? device_unregister+0x19/0x60
 [<c06471f9>] ? acpi_os_execute_deferred+0x0/0x23
 [<c060afc6>] ? pci_stop_bus_device+0x66/0x80
 [<c061fee0>] ? acpiphp_disable_slot+0x80/0x1a0
 [<c06471f9>] ? acpi_os_execute_deferred+0x0/0x23
 [<c0620649>] ? handle_hotplug_event_func+0xb9/0x180
 [<c047b78b>] ? up+0xb/0x40
 [<c064711d>] ? acpi_os_signal_semaphore+0x1e/0x23
 [<c0665c14>] ? acpi_ut_release_mutex+0x50/0x53
 [<c065cd5e>] ? acpi_get_data+0x4a/0x58
 [<c06471f9>] ? acpi_os_execute_deferred+0x0/0x23
 [<c064931e>] ? acpi_bus_get_device+0x18/0x2c
 [<c065481b>] ? acpi_ev_notify_dispatch+0x4c/0x55
 [<c0647213>] ? acpi_os_execute_deferred+0x1a/0x23
 [<c047181b>] ? worker_thread+0x11b/0x230
 [<c0475f50>] ? autoremove_wake_function+0x0/0x40
 [<c0471700>] ? worker_thread+0x0/0x230
 [<c0475d14>] ? kthread+0x74/0x80
 [<c0475ca0>] ? kthread+0x0/0x80
 [<c0409fff>] ? kernel_thread_helper+0x7/0x10
---[ end trace 1261f0bed0518ca9 ]---


> 
> Signed-off-by: Michael S. Tsirkin <mst at redhat.com>



More information about the SeaBIOS mailing list