|
@@ -586,18 +586,8 @@ void cpu_dump_statistics(CPUState *cpu, int flags);
|
|
|
*
|
|
|
* Returns: Corresponding physical page address or -1 if no page found.
|
|
|
*/
|
|
|
-static inline hwaddr cpu_get_phys_page_attrs_debug(CPUState *cpu, vaddr addr,
|
|
|
- MemTxAttrs *attrs)
|
|
|
-{
|
|
|
- CPUClass *cc = CPU_GET_CLASS(cpu);
|
|
|
-
|
|
|
- if (cc->get_phys_page_attrs_debug) {
|
|
|
- return cc->get_phys_page_attrs_debug(cpu, addr, attrs);
|
|
|
- }
|
|
|
- /* Fallback for CPUs which don't implement the _attrs_ hook */
|
|
|
- *attrs = MEMTXATTRS_UNSPECIFIED;
|
|
|
- return cc->get_phys_page_debug(cpu, addr);
|
|
|
-}
|
|
|
+hwaddr cpu_get_phys_page_attrs_debug(CPUState *cpu, vaddr addr,
|
|
|
+ MemTxAttrs *attrs);
|
|
|
|
|
|
/**
|
|
|
* cpu_get_phys_page_debug:
|
|
@@ -609,12 +599,7 @@ static inline hwaddr cpu_get_phys_page_attrs_debug(CPUState *cpu, vaddr addr,
|
|
|
*
|
|
|
* Returns: Corresponding physical page address or -1 if no page found.
|
|
|
*/
|
|
|
-static inline hwaddr cpu_get_phys_page_debug(CPUState *cpu, vaddr addr)
|
|
|
-{
|
|
|
- MemTxAttrs attrs = {};
|
|
|
-
|
|
|
- return cpu_get_phys_page_attrs_debug(cpu, addr, &attrs);
|
|
|
-}
|
|
|
+hwaddr cpu_get_phys_page_debug(CPUState *cpu, vaddr addr);
|
|
|
|
|
|
/** cpu_asidx_from_attrs:
|
|
|
* @cpu: CPU
|
|
@@ -623,17 +608,7 @@ static inline hwaddr cpu_get_phys_page_debug(CPUState *cpu, vaddr addr)
|
|
|
* Returns the address space index specifying the CPU AddressSpace
|
|
|
* to use for a memory access with the given transaction attributes.
|
|
|
*/
|
|
|
-static inline int cpu_asidx_from_attrs(CPUState *cpu, MemTxAttrs attrs)
|
|
|
-{
|
|
|
- CPUClass *cc = CPU_GET_CLASS(cpu);
|
|
|
- int ret = 0;
|
|
|
-
|
|
|
- if (cc->asidx_from_attrs) {
|
|
|
- ret = cc->asidx_from_attrs(cpu, attrs);
|
|
|
- assert(ret < cpu->num_ases && ret >= 0);
|
|
|
- }
|
|
|
- return ret;
|
|
|
-}
|
|
|
+int cpu_asidx_from_attrs(CPUState *cpu, MemTxAttrs attrs);
|
|
|
|
|
|
#endif /* CONFIG_USER_ONLY */
|
|
|
|