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