[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/5] qom: cpu: Add wrapper to the set-pc hook
From: |
Peter Crosthwaite |
Subject: |
[Qemu-devel] [PATCH 1/5] qom: cpu: Add wrapper to the set-pc hook |
Date: |
Sun, 14 Jun 2015 20:48:28 -0700 |
Add a wrapper around the CPUClass::set_pc hook. Accepts an error
pointer to report the case where the hook is not set.
Signed-off-by: Peter Crosthwaite <address@hidden>
---
include/qom/cpu.h | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/include/qom/cpu.h b/include/qom/cpu.h
index 7db310e..97d4edf 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -600,6 +600,27 @@ static inline void cpu_unaligned_access(CPUState *cpu,
vaddr addr,
#endif
/**
+ * cpu_set_pc:
+ * @cpu: The CPU to set the program counter for.
+ * @addr: Program counter value.
+ * @errp: Error pointer to populate in case of error.
+ *
+ * Set the program counter for a CPU. If there is no available implementation
+ * an error is raised.
+ */
+
+static inline void cpu_set_pc(CPUState *cpu, vaddr addr, Error **errp)
+{
+ CPUClass *cc = CPU_GET_CLASS(cpu);
+
+ if (cc->set_pc) {
+ cc->set_pc(cpu, addr);
+ } else {
+ error_setg(errp, "CPU does not implement set PC");
+ }
+}
+
+/**
* cpu_reset_interrupt:
* @cpu: The CPU to clear the interrupt on.
* @mask: The interrupt mask to clear.
--
1.9.1