cpu.h (d8276573da58e8ce78dab8c46dd660efd664bcb7) cpu.h (74433bf083b0766aba81534f92de13194f23ff3e)
1/*
2 * MicroBlaze virtual CPU header
3 *
4 * Copyright (c) 2009 Edgar E. Iglesias
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

--- 8 unchanged lines hidden (view full) ---

17 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef MICROBLAZE_CPU_H
21#define MICROBLAZE_CPU_H
22
23#include "qemu-common.h"
24#include "cpu-qom.h"
1/*
2 * MicroBlaze virtual CPU header
3 *
4 * Copyright (c) 2009 Edgar E. Iglesias
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

--- 8 unchanged lines hidden (view full) ---

17 * License along with this library; if not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef MICROBLAZE_CPU_H
21#define MICROBLAZE_CPU_H
22
23#include "qemu-common.h"
24#include "cpu-qom.h"
25#include "exec/cpu-defs.h"
26#include "fpu/softfloat-types.h"
25
27
26#define TARGET_LONG_BITS 64
27
28#define CPUArchState struct CPUMBState
29
28#define CPUArchState struct CPUMBState
29
30#include "exec/cpu-defs.h"
31#include "fpu/softfloat-types.h"
32struct CPUMBState;
33typedef struct CPUMBState CPUMBState;
34#if !defined(CONFIG_USER_ONLY)
35#include "mmu.h"
36#endif
37
38#define EXCP_MMU 1
39#define EXCP_IRQ 2

--- 183 unchanged lines hidden (view full) ---

223/* Condition codes. */
224#define CC_GE 5
225#define CC_GT 4
226#define CC_LE 3
227#define CC_LT 2
228#define CC_NE 1
229#define CC_EQ 0
230
30struct CPUMBState;
31typedef struct CPUMBState CPUMBState;
32#if !defined(CONFIG_USER_ONLY)
33#include "mmu.h"
34#endif
35
36#define EXCP_MMU 1
37#define EXCP_IRQ 2

--- 183 unchanged lines hidden (view full) ---

221/* Condition codes. */
222#define CC_GE 5
223#define CC_GT 4
224#define CC_LE 3
225#define CC_LT 2
226#define CC_NE 1
227#define CC_EQ 0
228
231#define NB_MMU_MODES 3
232
233#define STREAM_EXCEPTION (1 << 0)
234#define STREAM_ATOMIC (1 << 1)
235#define STREAM_TEST (1 << 2)
236#define STREAM_CONTROL (1 << 3)
237#define STREAM_NONBLOCK (1 << 4)
238
239struct CPUMBState {
240 uint32_t debug;

--- 94 unchanged lines hidden (view full) ---

335
336void mb_tcg_init(void);
337/* you can call this signal handler from your SIGBUS and SIGSEGV
338 signal handlers to inform the virtual CPU of exceptions. non zero
339 is returned if the signal was handled by the virtual CPU. */
340int cpu_mb_signal_handler(int host_signum, void *pinfo,
341 void *puc);
342
229#define STREAM_EXCEPTION (1 << 0)
230#define STREAM_ATOMIC (1 << 1)
231#define STREAM_TEST (1 << 2)
232#define STREAM_CONTROL (1 << 3)
233#define STREAM_NONBLOCK (1 << 4)
234
235struct CPUMBState {
236 uint32_t debug;

--- 94 unchanged lines hidden (view full) ---

331
332void mb_tcg_init(void);
333/* you can call this signal handler from your SIGBUS and SIGSEGV
334 signal handlers to inform the virtual CPU of exceptions. non zero
335 is returned if the signal was handled by the virtual CPU. */
336int cpu_mb_signal_handler(int host_signum, void *pinfo,
337 void *puc);
338
343/* FIXME: MB uses variable pages down to 1K but linux only uses 4k. */
344#define TARGET_PAGE_BITS 12
345
346#define TARGET_PHYS_ADDR_SPACE_BITS 64
347#define TARGET_VIRT_ADDR_SPACE_BITS 64
348
349#define CPU_RESOLVING_TYPE TYPE_MICROBLAZE_CPU
350
351#define cpu_signal_handler cpu_mb_signal_handler
352
353/* MMU modes definitions */
354#define MMU_MODE0_SUFFIX _nommu
355#define MMU_MODE1_SUFFIX _kernel
356#define MMU_MODE2_SUFFIX _user

--- 43 unchanged lines hidden ---
339#define CPU_RESOLVING_TYPE TYPE_MICROBLAZE_CPU
340
341#define cpu_signal_handler cpu_mb_signal_handler
342
343/* MMU modes definitions */
344#define MMU_MODE0_SUFFIX _nommu
345#define MMU_MODE1_SUFFIX _kernel
346#define MMU_MODE2_SUFFIX _user

--- 43 unchanged lines hidden ---