• 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 #include "hw/loader.h"
16 
17 /* The CPU is also modeled as an interrupt controller.  */
18 #define ARM_PIC_CPU_IRQ 0
19 #define ARM_PIC_CPU_FIQ 1
20 qemu_irq *arm_pic_init_cpu(CPUOldState *env);
21 
22 /* armv7m.c */
23 qemu_irq *armv7m_init(int flash_size, int sram_size,
24                       const char *kernel_filename, const char *cpu_model);
25 
26 /* arm_boot.c */
27 struct arm_boot_info {
28     int ram_size;
29     const char *kernel_filename;
30     const char *kernel_cmdline;
31     const char *initrd_filename;
32     hwaddr loader_start;
33     hwaddr smp_loader_start;
34     hwaddr smp_priv_base;
35     int nb_cpus;
36     int board_id;
37     int (*atag_board)(const struct arm_boot_info *info, void *p);
38     /* Used internally by arm_boot.c */
39     int is_linux;
40     hwaddr initrd_size;
41     hwaddr entry;
42 };
43 void arm_load_kernel(CPUARMState *env, struct arm_boot_info *info);
44 
45 /* Multiplication factor to convert from system clock ticks to qemu timer
46    ticks.  */
47 extern int system_clock_scale;
48 
49 #endif /* !ARM_MISC_H */
50