[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 36/50] cpu: move endian-dependent load/store functio
From: |
Paolo Bonzini |
Subject: |
[Qemu-devel] [PATCH 36/50] cpu: move endian-dependent load/store functions to cpu-all.h |
Date: |
Mon, 16 May 2016 17:36:08 +0200 |
Disentangle cpu-common.h and memory.h from NEED_CPU_H. Prototypes are
not defined for !NEED_CPU_H, so remove them from poison.h too. Only
macros need poisoning.
Signed-off-by: Paolo Bonzini <address@hidden>
---
include/exec/cpu-all.h | 25 +++++++++++++++++++++++++
include/exec/cpu-common.h | 10 ----------
include/exec/memory.h | 17 -----------------
include/exec/poison.h | 8 --------
4 files changed, 25 insertions(+), 35 deletions(-)
diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h
index 08e5093..3911576 100644
--- a/include/exec/cpu-all.h
+++ b/include/exec/cpu-all.h
@@ -165,6 +165,31 @@ extern unsigned long reserved_va;
#define GUEST_ADDR_MAX (reserved_va ? reserved_va : \
(1ul << TARGET_VIRT_ADDR_SPACE_BITS) - 1)
+#else
+
+#include "exec/hwaddr.h"
+uint32_t lduw_phys(AddressSpace *as, hwaddr addr);
+uint32_t ldl_phys(AddressSpace *as, hwaddr addr);
+uint64_t ldq_phys(AddressSpace *as, hwaddr addr);
+void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val);
+void stw_phys(AddressSpace *as, hwaddr addr, uint32_t val);
+void stl_phys(AddressSpace *as, hwaddr addr, uint32_t val);
+void stq_phys(AddressSpace *as, hwaddr addr, uint64_t val);
+
+uint32_t address_space_lduw(AddressSpace *as, hwaddr addr,
+ MemTxAttrs attrs, MemTxResult *result);
+uint32_t address_space_ldl(AddressSpace *as, hwaddr addr,
+ MemTxAttrs attrs, MemTxResult *result);
+uint64_t address_space_ldq(AddressSpace *as, hwaddr addr,
+ MemTxAttrs attrs, MemTxResult *result);
+void address_space_stl_notdirty(AddressSpace *as, hwaddr addr, uint32_t val,
+ MemTxAttrs attrs, MemTxResult *result);
+void address_space_stw(AddressSpace *as, hwaddr addr, uint32_t val,
+ MemTxAttrs attrs, MemTxResult *result);
+void address_space_stl(AddressSpace *as, hwaddr addr, uint32_t val,
+ MemTxAttrs attrs, MemTxResult *result);
+void address_space_stq(AddressSpace *as, hwaddr addr, uint64_t val,
+ MemTxAttrs attrs, MemTxResult *result);
#endif
/* page related stuff */
diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
index 4f59034..04eade5 100644
--- a/include/exec/cpu-common.h
+++ b/include/exec/cpu-common.h
@@ -109,16 +109,6 @@ void stl_be_phys(AddressSpace *as, hwaddr addr, uint32_t
val);
void stq_le_phys(AddressSpace *as, hwaddr addr, uint64_t val);
void stq_be_phys(AddressSpace *as, hwaddr addr, uint64_t val);
-#ifdef NEED_CPU_H
-uint32_t lduw_phys(AddressSpace *as, hwaddr addr);
-uint32_t ldl_phys(AddressSpace *as, hwaddr addr);
-uint64_t ldq_phys(AddressSpace *as, hwaddr addr);
-void stl_phys_notdirty(AddressSpace *as, hwaddr addr, uint32_t val);
-void stw_phys(AddressSpace *as, hwaddr addr, uint32_t val);
-void stl_phys(AddressSpace *as, hwaddr addr, uint32_t val);
-void stq_phys(AddressSpace *as, hwaddr addr, uint64_t val);
-#endif
-
void cpu_physical_memory_write_rom(AddressSpace *as, hwaddr addr,
const uint8_t *buf, int len);
void cpu_flush_icache_range(hwaddr start, int len);
diff --git a/include/exec/memory.h b/include/exec/memory.h
index e2a3e99..7fb9188 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -1292,23 +1292,6 @@ void address_space_stq_le(AddressSpace *as, hwaddr addr,
uint64_t val,
void address_space_stq_be(AddressSpace *as, hwaddr addr, uint64_t val,
MemTxAttrs attrs, MemTxResult *result);
-#ifdef NEED_CPU_H
-uint32_t address_space_lduw(AddressSpace *as, hwaddr addr,
- MemTxAttrs attrs, MemTxResult *result);
-uint32_t address_space_ldl(AddressSpace *as, hwaddr addr,
- MemTxAttrs attrs, MemTxResult *result);
-uint64_t address_space_ldq(AddressSpace *as, hwaddr addr,
- MemTxAttrs attrs, MemTxResult *result);
-void address_space_stl_notdirty(AddressSpace *as, hwaddr addr, uint32_t val,
- MemTxAttrs attrs, MemTxResult *result);
-void address_space_stw(AddressSpace *as, hwaddr addr, uint32_t val,
- MemTxAttrs attrs, MemTxResult *result);
-void address_space_stl(AddressSpace *as, hwaddr addr, uint32_t val,
- MemTxAttrs attrs, MemTxResult *result);
-void address_space_stq(AddressSpace *as, hwaddr addr, uint64_t val,
- MemTxAttrs attrs, MemTxResult *result);
-#endif
-
/* address_space_translate: translate an address range into an address space
* into a MemoryRegion and an address range into that section. Should be
* called from an RCU critical section, to avoid that the last reference
diff --git a/include/exec/poison.h b/include/exec/poison.h
index a4b1eca..3ca7929 100644
--- a/include/exec/poison.h
+++ b/include/exec/poison.h
@@ -37,14 +37,6 @@
#pragma GCC poison CPUArchState
-#pragma GCC poison lduw_phys
-#pragma GCC poison ldl_phys
-#pragma GCC poison ldq_phys
-#pragma GCC poison stl_phys_notdirty
-#pragma GCC poison stw_phys
-#pragma GCC poison stl_phys
-#pragma GCC poison stq_phys
-
#pragma GCC poison CPU_INTERRUPT_HARD
#pragma GCC poison CPU_INTERRUPT_EXITTB
#pragma GCC poison CPU_INTERRUPT_HALT
--
1.8.3.1
- Re: [Qemu-devel] [PATCH 10/50] target-m68k: make cpu-qom.h not target specific, (continued)
- [Qemu-devel] [PATCH 16/50] target-sh4: make cpu-qom.h not target specific, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 03/50] log: do not use CONFIG_USER_ONLY, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 25/50] mips: use MIPSCPU instead of CPUMIPSState, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 13/50] target-ppc: do not use target_ulong in cpu-qom.h, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 12/50] target-mips: make cpu-qom.h not target specific, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 26/50] ppc: use PowerPCCPU instead of CPUPPCState, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 20/50] target-xtensa: make cpu-qom.h not target specific, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 18/50] target-tricore: make cpu-qom.h not target specific, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 11/50] target-microblaze: make cpu-qom.h not target specific, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 36/50] cpu: move endian-dependent load/store functions to cpu-all.h,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 23/50] sh4: include cpu-qom.h in files that require SuperHCPU, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 14/50] target-ppc: make cpu-qom.h not target specific, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 21/50] arm: include cpu-qom.h in files that require ARMCPU, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 30/50] explicitly include linux/kvm.h, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 27/50] arm: remove useless cpu.h inclusion, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 24/50] alpha: include cpu-qom.h in files that require AlphaCPU, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 29/50] explicitly include hw/qdev-core.h, Paolo Bonzini, 2016/05/16
- [Qemu-devel] [PATCH 39/50] gdbstub: remove unnecessary includes from gdbstub-xml.c, Paolo Bonzini, 2016/05/16