While building stubdom, I saw an error.
install: cannot stat `lib/{config,header,pci,types}.h': No such file
or directory
It seems brace expansion is not available in some environments, so we
had better avoid using it.
Signed-off-by: Yosuke Iwamatsu <y-iwamatsu@ab.jp.nec.com>
Xend doesn't start up on my laptop which has a PCI-CardBus bridge.
PCI-CardBus bridge device doesn't have a capability chain.
Also sanity checking of a capability chain.
Signed-off-by: Kouya Shimura <kouya@jp.fujitsu.com>
There is no need for a flush on read-only disks. It would actually
even error out and disturb the guest.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
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@necst.nec.co.jp>
I forgot to shift value read from real device. If the emulated
register offset is not aligned with 4 byte, the write emulation will
not be handled well because of corrupting register value read from
real device. The patch fixes this issue.
Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
libpci returns ALL F when error occurs. Currently, if libpci returns
ALL F, emulation stops. But it is possible that the field of real register
which is read by guest software is ALL F.
After applying this patch, if libpci returns ALL F, ioemu will log
warning message and continue the emulation.
Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
This patch fixes writing handlers for base address registers (include
expansion rom base address register) as follows.
It can be applied to both ioemu-remote and ioemu.
- Current implementation can not work fine when base address registers
are accessed via 1 byte write access and 2 byte write access. This
patch enables them.
- Currently guest software can set address which is not aligned
with resource size and page size. The patch does not allow guest
software to set unaligned address.
Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
- fix log messages to make analysis easier when issue occurs.
- remove verbose message.
- add comments in the source code.
- fix wrong comments in the source code.
Signed-off-by: Yuji Shimada <shimada-yxb@necst.nec.co.jp>
stubdom/ is now compiled and installed by default
HVM+IOEMU-stubdom can not boot if dom0 has to be ballooned.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>
Add --cpu to IOEMU_CONFIGURE_CROSS since otherwise qemu uses the
output of `uname -m` even for cross-building. Pass
IOEMU_CONFIGURE_CROSS to xen-setup which passes it on to
ioemu/configure.
Signed-off-by: Aron Griffis <aron@hp.com>
use a global device table instead of allocating private tables for
each iommu. Migrate a few functions from pci_amd_iommu.c
Signed-off-by: Wei Wang <wei.wang2@amd.com>
I realized that I had failed to cover the hardware assisted paging
case in my earlier p2m_ram_ro patches. This should fix it.
Signed-off-by: Trolle Selander <trolle.selander@eu.citrix.com>
make should not have to regenerate the libxc and ioemu directories
since that is part of the mk-headers target. Use the subdirectory
clean targets instead to clean just the object files.
Signed-off-by: Samuel Thibault <samuel.thibault@eu.citrix.com>