cpu-defs.h (31e213e30617b986a6e8ab4d9a0646eb4e6a4227) | cpu-defs.h (53d284554cfb476a43807fe94fa59909ed5d9ff8) |
---|---|
1/* 2 * common defines for all CPUs 3 * 4 * Copyright (c) 2003 Fabrice Bellard 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either --- 127 unchanged lines hidden (view full) --- 136 * + the ram_addr_t of the target RAM (if the physical section 137 * number is PHYS_SECTION_NOTDIRTY or PHYS_SECTION_ROM) 138 * + the offset within the target MemoryRegion (otherwise) 139 */ 140 hwaddr addr; 141 MemTxAttrs attrs; 142} CPUIOTLBEntry; 143 | 1/* 2 * common defines for all CPUs 3 * 4 * Copyright (c) 2003 Fabrice Bellard 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either --- 127 unchanged lines hidden (view full) --- 136 * + the ram_addr_t of the target RAM (if the physical section 137 * number is PHYS_SECTION_NOTDIRTY or PHYS_SECTION_ROM) 138 * + the offset within the target MemoryRegion (otherwise) 139 */ 140 hwaddr addr; 141 MemTxAttrs attrs; 142} CPUIOTLBEntry; 143 |
144/* 145 * Data elements that are shared between all MMU modes. 146 */ 147typedef struct CPUTLBCommon { 148 /* lock serializes updates to tlb_table and tlb_v_table */ 149 QemuSpin lock; 150} CPUTLBCommon; 151 152/* 153 * The meaning of each of the MMU modes is defined in the target code. 154 * Note that NB_MMU_MODES is not yet defined; we can only reference it 155 * within preprocessor defines that will be expanded later. 156 */ |
|
144#define CPU_COMMON_TLB \ | 157#define CPU_COMMON_TLB \ |
145 /* The meaning of the MMU modes is defined in the target code. */ \ 146 /* tlb_lock serializes updates to tlb_table and tlb_v_table */ \ 147 QemuSpin tlb_lock; \ | 158 CPUTLBCommon tlb_c; \ |
148 CPUTLBEntry tlb_table[NB_MMU_MODES][CPU_TLB_SIZE]; \ 149 CPUTLBEntry tlb_v_table[NB_MMU_MODES][CPU_VTLB_SIZE]; \ 150 CPUIOTLBEntry iotlb[NB_MMU_MODES][CPU_TLB_SIZE]; \ 151 CPUIOTLBEntry iotlb_v[NB_MMU_MODES][CPU_VTLB_SIZE]; \ 152 size_t tlb_flush_count; \ 153 target_ulong tlb_flush_addr; \ 154 target_ulong tlb_flush_mask; \ 155 target_ulong vtlb_index; \ --- 13 unchanged lines hidden --- | 159 CPUTLBEntry tlb_table[NB_MMU_MODES][CPU_TLB_SIZE]; \ 160 CPUTLBEntry tlb_v_table[NB_MMU_MODES][CPU_VTLB_SIZE]; \ 161 CPUIOTLBEntry iotlb[NB_MMU_MODES][CPU_TLB_SIZE]; \ 162 CPUIOTLBEntry iotlb_v[NB_MMU_MODES][CPU_VTLB_SIZE]; \ 163 size_t tlb_flush_count; \ 164 target_ulong tlb_flush_addr; \ 165 target_ulong tlb_flush_mask; \ 166 target_ulong vtlb_index; \ --- 13 unchanged lines hidden --- |