Skip to content

Commit

Permalink
xen: Fold CONFIG_XEN_MAPCACHE into CONFIG_XEN
Browse files Browse the repository at this point in the history
Xen won't be enabled if there is no backend support available for the
host. And that also means the map cache will work. So drop the separate
config switch and move the required stubs over to xen-stub.c.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
  • Loading branch information
jan-kiszka authored and agraf committed Jul 16, 2011
1 parent e41d7c6 commit 868bb33
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 58 deletions.
5 changes: 1 addition & 4 deletions Makefile.target
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ GENERATED_HEADERS = config-target.h
CONFIG_NO_PCI = $(if $(subst n,,$(CONFIG_PCI)),n,y)
CONFIG_NO_KVM = $(if $(subst n,,$(CONFIG_KVM)),n,y)
CONFIG_NO_XEN = $(if $(subst n,,$(CONFIG_XEN)),n,y)
CONFIG_NO_XEN_MAPCACHE = $(if $(subst n,,$(CONFIG_XEN_MAPCACHE)),n,y)

include ../config-host.mak
include config-devices.mak
Expand Down Expand Up @@ -207,10 +206,8 @@ QEMU_CFLAGS += $(VNC_JPEG_CFLAGS)
QEMU_CFLAGS += $(VNC_PNG_CFLAGS)

# xen support
obj-$(CONFIG_XEN) += xen-all.o xen_machine_pv.o xen_domainbuild.o
obj-$(CONFIG_XEN) += xen-all.o xen_machine_pv.o xen_domainbuild.o xen-mapcache.o
obj-$(CONFIG_NO_XEN) += xen-stub.o
obj-i386-$(CONFIG_XEN_MAPCACHE) += xen-mapcache.o
obj-$(CONFIG_NO_XEN_MAPCACHE) += xen-mapcache-stub.o

obj-i386-$(CONFIG_XEN) += xen_platform.o

Expand Down
16 changes: 8 additions & 8 deletions exec.c
Original file line number Diff line number Diff line change
Expand Up @@ -2953,7 +2953,7 @@ ram_addr_t qemu_ram_alloc_from_ptr(DeviceState *dev, const char *name,
abort();
}
#else
if (xen_mapcache_enabled()) {
if (xen_enabled()) {
xen_ram_alloc(new_block->offset, size);
} else {
new_block->host = qemu_vmalloc(size);
Expand Down Expand Up @@ -3019,7 +3019,7 @@ void qemu_ram_free(ram_addr_t addr)
#if defined(TARGET_S390X) && defined(CONFIG_KVM)
munmap(block->host, block->length);
#else
if (xen_mapcache_enabled()) {
if (xen_enabled()) {
xen_invalidate_map_cache_entry(block->host);
} else {
qemu_vfree(block->host);
Expand Down Expand Up @@ -3112,7 +3112,7 @@ void *qemu_get_ram_ptr(ram_addr_t addr)
QLIST_REMOVE(block, next);
QLIST_INSERT_HEAD(&ram_list.blocks, block, next);
}
if (xen_mapcache_enabled()) {
if (xen_enabled()) {
/* We need to check if the requested address is in the RAM
* because we don't want to map the entire memory in QEMU.
* In that case just map until the end of the page.
Expand Down Expand Up @@ -3143,7 +3143,7 @@ void *qemu_safe_ram_ptr(ram_addr_t addr)

QLIST_FOREACH(block, &ram_list.blocks, next) {
if (addr - block->offset < block->length) {
if (xen_mapcache_enabled()) {
if (xen_enabled()) {
/* We need to check if the requested address is in the RAM
* because we don't want to map the entire memory in QEMU.
* In that case just map until the end of the page.
Expand All @@ -3169,9 +3169,9 @@ void *qemu_safe_ram_ptr(ram_addr_t addr)
* but takes a size argument */
void *qemu_ram_ptr_length(target_phys_addr_t addr, target_phys_addr_t *size)
{
if (xen_mapcache_enabled())
if (xen_enabled()) {
return xen_map_cache(addr, *size, 1);
else {
} else {
RAMBlock *block;

QLIST_FOREACH(block, &ram_list.blocks, next) {
Expand Down Expand Up @@ -3200,7 +3200,7 @@ int qemu_ram_addr_from_host(void *ptr, ram_addr_t *ram_addr)
RAMBlock *block;
uint8_t *host = ptr;

if (xen_mapcache_enabled()) {
if (xen_enabled()) {
*ram_addr = xen_ram_addr_from_mapcache(ptr);
return 0;
}
Expand Down Expand Up @@ -4115,7 +4115,7 @@ void cpu_physical_memory_unmap(void *buffer, target_phys_addr_t len,
access_len -= l;
}
}
if (xen_mapcache_enabled()) {
if (xen_enabled()) {
xen_invalidate_map_cache_entry(buffer);
}
return;
Expand Down
9 changes: 0 additions & 9 deletions hw/xen.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,6 @@ static inline int xen_enabled(void)
#endif
}

static inline int xen_mapcache_enabled(void)
{
#ifdef CONFIG_XEN_MAPCACHE
return xen_enabled();
#else
return 0;
#endif
}

int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num);
void xen_piix3_set_irq(void *opaque, int irq_num, int level);
void xen_piix_pci_write_config_client(uint32_t address, uint32_t val, int len);
Expand Down
37 changes: 0 additions & 37 deletions xen-mapcache-stub.c

This file was deleted.

0 comments on commit 868bb33

Please sign in to comment.