[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH 15/58] PPC: bamboo: Move host fdt copy to target
From: |
Alexander Graf |
Subject: |
[Qemu-ppc] [PATCH 15/58] PPC: bamboo: Move host fdt copy to target |
Date: |
Wed, 14 Sep 2011 10:42:39 +0200 |
We have some code in generic kvm_ppc.c that is only used by 440. Move to
the 440 specific device code.
Signed-off-by: Alexander Graf <address@hidden>
---
hw/ppc440_bamboo.c | 37 +++++++++++++++++++++++++++++++++++--
target-ppc/kvm_ppc.c | 30 ------------------------------
target-ppc/kvm_ppc.h | 1 -
3 files changed, 35 insertions(+), 33 deletions(-)
diff --git a/hw/ppc440_bamboo.c b/hw/ppc440_bamboo.c
index 1addb68..65d4f0f 100644
--- a/hw/ppc440_bamboo.c
+++ b/hw/ppc440_bamboo.c
@@ -31,6 +31,38 @@
#define FDT_ADDR 0x1800000
#define RAMDISK_ADDR 0x1900000
+#ifdef CONFIG_FDT
+static int bamboo_copy_host_cell(void *fdt, const char *node, const char *prop)
+{
+ uint32_t cell;
+ int ret;
+
+ ret = kvmppc_read_host_property(node, prop, &cell, sizeof(cell));
+ if (ret < 0) {
+ fprintf(stderr, "couldn't read host %s/%s\n", node, prop);
+ goto out;
+ }
+
+ ret = qemu_devtree_setprop_cell(fdt, node, prop, cell);
+ if (ret < 0) {
+ fprintf(stderr, "couldn't set guest %s/%s\n", node, prop);
+ goto out;
+ }
+
+out:
+ return ret;
+}
+
+static void bamboo_fdt_update(void *fdt)
+{
+ /* Copy data from the host device tree into the guest. Since the guest can
+ * directly access the timebase without host involvement, we must expose
+ * the correct frequencies. */
+ bamboo_copy_host_cell(fdt, "/cpus/address@hidden", "clock-frequency");
+ bamboo_copy_host_cell(fdt, "/cpus/address@hidden", "timebase-frequency");
+}
+#endif
+
static int bamboo_load_device_tree(target_phys_addr_t addr,
uint32_t ramsize,
target_phys_addr_t initrd_base,
@@ -76,8 +108,9 @@ static int bamboo_load_device_tree(target_phys_addr_t addr,
if (ret < 0)
fprintf(stderr, "couldn't set /chosen/bootargs\n");
- if (kvm_enabled())
- kvmppc_fdt_update(fdt);
+ if (kvm_enabled()) {
+ bamboo_fdt_update(fdt);
+ }
ret = rom_add_blob_fixed(BINARY_DEVICE_TREE_FILE, fdt, fdt_size, addr);
g_free(fdt);
diff --git a/target-ppc/kvm_ppc.c b/target-ppc/kvm_ppc.c
index 867dc1d..233115e 100644
--- a/target-ppc/kvm_ppc.c
+++ b/target-ppc/kvm_ppc.c
@@ -54,36 +54,6 @@ free:
free(path);
return ret;
}
-
-static int kvmppc_copy_host_cell(void *fdt, const char *node, const char *prop)
-{
- uint32_t cell;
- int ret;
-
- ret = kvmppc_read_host_property(node, prop, &cell, sizeof(cell));
- if (ret < 0) {
- fprintf(stderr, "couldn't read host %s/%s\n", node, prop);
- goto out;
- }
-
- ret = qemu_devtree_setprop_cell(fdt, node, prop, cell);
- if (ret < 0) {
- fprintf(stderr, "couldn't set guest %s/%s\n", node, prop);
- goto out;
- }
-
-out:
- return ret;
-}
-
-void kvmppc_fdt_update(void *fdt)
-{
- /* Copy data from the host device tree into the guest. Since the guest can
- * directly access the timebase without host involvement, we must expose
- * the correct frequencies. */
- kvmppc_copy_host_cell(fdt, "/cpus/address@hidden", "clock-frequency");
- kvmppc_copy_host_cell(fdt, "/cpus/address@hidden", "timebase-frequency");
-}
#endif
static void kvmppc_timer_hack(void *opaque)
diff --git a/target-ppc/kvm_ppc.h b/target-ppc/kvm_ppc.h
index 45a1373..2f32249 100644
--- a/target-ppc/kvm_ppc.h
+++ b/target-ppc/kvm_ppc.h
@@ -10,7 +10,6 @@
#define __KVM_PPC_H__
void kvmppc_init(void);
-void kvmppc_fdt_update(void *fdt);
#ifndef CONFIG_KVM
static inline int kvmppc_read_host_property(const char *node_path, const char
*prop,
void *val, size_t len)
--
1.6.0.2
- [Qemu-ppc] [PULL 00/58] ppc patch queue 2011-09-14, Alexander Graf, 2011/09/14
- [Qemu-ppc] [PATCH 57/58] PPC: Fix heathrow PIC to use little endian MMIO, Alexander Graf, 2011/09/14
- [Qemu-ppc] [PATCH 55/58] ppc: move ADB stuff from ppc_mac.h to adb.h, Alexander Graf, 2011/09/14
- [Qemu-ppc] [PATCH 45/58] ppc: booke206: add "info tlb" support, Alexander Graf, 2011/09/14
- [Qemu-ppc] [PATCH 22/58] PPC: E500: Update freqs for all CPUs, Alexander Graf, 2011/09/14
- [Qemu-ppc] [PATCH 08/58] PPC: Set MPIC IDE for IPI to 0, Alexander Graf, 2011/09/14
- [Qemu-ppc] [PATCH 15/58] PPC: bamboo: Move host fdt copy to target,
Alexander Graf <=
- [Qemu-ppc] [PATCH 19/58] PPC: bamboo: Use kvm api for freq and clock frequencies, Alexander Graf, 2011/09/14
- [Qemu-ppc] [PATCH 03/58] spapr: make irq customizable via qdev, Alexander Graf, 2011/09/14
- [Qemu-ppc] [PATCH 10/58] PPC: MPIC: Fix CI bit definitions, Alexander Graf, 2011/09/14
- [Qemu-ppc] [PATCH 48/58] pseries: Implement hcall-bulk hypervisor interface, Alexander Graf, 2011/09/14
- [Qemu-ppc] [PATCH 21/58] PPC: KVM: Add stubs for kvm helper functions, Alexander Graf, 2011/09/14
- [Qemu-ppc] [PATCH 09/58] PPC: MPIC: Remove read functionality for WO registers, Alexander Graf, 2011/09/14
- [Qemu-ppc] [PATCH 12/58] PPC: E500: create multiple envs, Alexander Graf, 2011/09/14
- [Qemu-ppc] [PATCH 16/58] PPC: KVM: Add generic function to read host clockfreq, Alexander Graf, 2011/09/14