Lines Matching +full:8 +full:- +full:cpu
2 * QEMU AVR CPU
4 * Copyright (c) 2016-2020 Michael Rolnik
18 * <http://www.gnu.org/licenses/lgpl-2.1.html>
24 #include "cpu-qom.h"
25 #include "exec/cpu-defs.h"
28 #error "AVR 8-bit does not support user mode"
45 /* Number of CPU registers */
61 /* CPU registers, IO registers, and SRAM */
63 /* CPU registers specifically, these are mapped at the start of data */
67 * mapped peripherals, mapped just after CPU registers
83 AVR_FEATURE_RMW, /* Read Modify Write - XCH LAC LAS LAT */
119 uint32_t rampD; /* 0x00ff0000 8 bits */
120 uint32_t rampX; /* 0x00ff0000 8 bits */
121 uint32_t rampY; /* 0x00ff0000 8 bits */
122 uint32_t rampZ; /* 0x00ff0000 8 bits */
123 uint32_t eind; /* 0x00ff0000 8 bits */
125 uint32_t r[NUMBER_OF_CPU_REGISTERS]; /* 8 bits each */
131 bool fullacc; /* CPU/MEM if true MEM only otherwise */
140 * A AVR CPU.
156 * A AVR CPU model.
167 void avr_cpu_do_interrupt(CPUState *cpu);
168 bool avr_cpu_exec_interrupt(CPUState *cpu, int int_req);
169 hwaddr avr_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr);
170 int avr_cpu_gdb_read_register(CPUState *cpu, GByteArray *buf, int reg);
171 int avr_cpu_gdb_write_register(CPUState *cpu, uint8_t *buf, int reg);
173 vaddr avr_cpu_gdb_adjust_breakpoint(CPUState *cpu, vaddr addr);
177 return (env->features & (1U << feature)) != 0; in avr_feature()
182 env->features |= (1U << feature); in set_avr_feature()
187 int cpu_avr_exec(CPUState *cpu);
199 *pc = env->pc_w * 2; in cpu_get_tb_cpu_state()
202 if (env->fullacc) { in cpu_get_tb_cpu_state()
205 if (env->skip) { in cpu_get_tb_cpu_state()
214 return env->sregI != 0; in cpu_interrupts_enabled()
219 return (env->sregC) << 0 in cpu_get_sreg()
220 | (env->sregZ) << 1 in cpu_get_sreg()
221 | (env->sregN) << 2 in cpu_get_sreg()
222 | (env->sregV) << 3 in cpu_get_sreg()
223 | (env->sregS) << 4 in cpu_get_sreg()
224 | (env->sregH) << 5 in cpu_get_sreg()
225 | (env->sregT) << 6 in cpu_get_sreg()
226 | (env->sregI) << 7; in cpu_get_sreg()
231 env->sregC = (sreg >> 0) & 0x01; in cpu_set_sreg()
232 env->sregZ = (sreg >> 1) & 0x01; in cpu_set_sreg()
233 env->sregN = (sreg >> 2) & 0x01; in cpu_set_sreg()
234 env->sregV = (sreg >> 3) & 0x01; in cpu_set_sreg()
235 env->sregS = (sreg >> 4) & 0x01; in cpu_set_sreg()
236 env->sregH = (sreg >> 5) & 0x01; in cpu_set_sreg()
237 env->sregT = (sreg >> 6) & 0x01; in cpu_set_sreg()
238 env->sregI = (sreg >> 7) & 0x01; in cpu_set_sreg()
245 #include "exec/cpu-all.h"