Home | History | Annotate | Download | only in arm
      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