[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] ioemu, passthrough: fix flag for expansion rom base address register.
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1217580894 -3600 # Node ID 8951c3b84e2a8c41146347dbda8f0f2934dce3fa # Parent 6692c3646914ee73c5d3e1792f4040c22b039a6e ioemu, passthrough: fix flag for expansion rom base address register. pt_bar_reg_parse() is called for expansion rom base address register. Currently it returns PT_BAR_FLAG_MEM if bit 0 is 0. It returns PT_BAR_FLAG_IO if bit 0 is 1. But bit 0 in expansion rom base address register is enable bit. If bit 0 is 1 for some reason, it returns PT_BAR_FLAG_IO. Expansion rom is mapped to memory space. It should return PT_BAR_FLAG_MEM. After applying this patch, it returns PT_BAR_FLAG_MEM regardless of bit 0, when it is called for expansion rom base address register. Signed-off-by: Yuji Shimada <shimada-yxb@xxxxxxxxxxxxxxx> --- tools/ioemu/hw/pass-through.c | 7 +++++++ 1 files changed, 7 insertions(+) diff -r 6692c3646914 -r 8951c3b84e2a tools/ioemu/hw/pass-through.c --- a/tools/ioemu/hw/pass-through.c Fri Aug 01 09:54:13 2008 +0100 +++ b/tools/ioemu/hw/pass-through.c Fri Aug 01 09:54:54 2008 +0100 @@ -1528,6 +1528,13 @@ static int pt_bar_reg_parse( if (!r->size) goto out; + /* for ExpROM BAR */ + if (index == PCI_ROM_SLOT) + { + bar_flag = PT_BAR_FLAG_MEM; + goto out; + } + /* check BAR I/O indicator */ if (d->config[reg->offset] & PCI_BASE_ADDRESS_SPACE_IO) bar_flag = PT_BAR_FLAG_IO; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |