• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Misc ARM declarations
3  *
4  * Copyright (c) 2006 CodeSourcery.
5  * Written by Paul Brook
6  *
7  * This code is licenced under the LGPL.
8  *
9  */
10 
11 #ifndef ARM_MISC_H
12 #define ARM_MISC_H 1
13 
14 #include "cpu.h"
15 
16 /* The CPU is also modeled as an interrupt controller.  */
17 #define ARM_PIC_CPU_IRQ 0
18 #define ARM_PIC_CPU_FIQ 1
19 qemu_irq *arm_pic_init_cpu(CPUState *env);
20 
21 /* armv7m.c */
22 qemu_irq *armv7m_init(int flash_size, int sram_size,
23                       const char *kernel_filename, const char *cpu_model);
24 
25 /* arm_boot.c */
26 struct arm_boot_info {
27     int ram_size;
28     const char *kernel_filename;
29     const char *kernel_cmdline;
30     const char *initrd_filename;
31     target_phys_addr_t loader_start;
32     target_phys_addr_t smp_loader_start;
33     int nb_cpus;
34     int board_id;
35     int (*atag_board)(struct arm_boot_info *info, void *p);
36 };
37 void arm_load_kernel(CPUState *env, struct arm_boot_info *info);
38 
39 /* Multiplication factor to convert from system clock ticks to qemu timer
40    ticks.  */
41 extern int system_clock_scale;
42 
43 #endif /* !ARM_MISC_H */
44