Annotation of qemu/hw/arm-misc.h, revision 1.1.1.7

1.1       root        1: /*
                      2:  * Misc ARM declarations
                      3:  *
                      4:  * Copyright (c) 2006 CodeSourcery.
                      5:  * Written by Paul Brook
                      6:  *
1.1.1.5   root        7:  * This code is licensed under the LGPL.
1.1       root        8:  *
                      9:  */
                     10: 
                     11: #ifndef ARM_MISC_H
                     12: #define ARM_MISC_H 1
                     13: 
1.1.1.6   root       14: #include "memory.h"
                     15: 
1.1       root       16: /* The CPU is also modeled as an interrupt controller.  */
                     17: #define ARM_PIC_CPU_IRQ 0
                     18: #define ARM_PIC_CPU_FIQ 1
1.1.1.7 ! root       19: qemu_irq *arm_pic_init_cpu(CPUARMState *env);
1.1       root       20: 
                     21: /* armv7m.c */
1.1.1.6   root       22: qemu_irq *armv7m_init(MemoryRegion *address_space_mem,
                     23:                       int flash_size, int sram_size,
1.1       root       24:                       const char *kernel_filename, const char *cpu_model);
                     25: 
                     26: /* arm_boot.c */
1.1.1.2   root       27: struct arm_boot_info {
                     28:     int ram_size;
                     29:     const char *kernel_filename;
                     30:     const char *kernel_cmdline;
                     31:     const char *initrd_filename;
1.1.1.7 ! root       32:     const char *dtb_filename;
1.1.1.2   root       33:     target_phys_addr_t loader_start;
1.1.1.7 ! root       34:     /* multicore boards that use the default secondary core boot functions
        !            35:      * need to put the address of the secondary boot code, the boot reg,
        !            36:      * and the GIC address in the next 3 values, respectively. boards that
        !            37:      * have their own boot functions can use these values as they want.
        !            38:      */
1.1.1.3   root       39:     target_phys_addr_t smp_loader_start;
1.1.1.7 ! root       40:     target_phys_addr_t smp_bootreg_addr;
        !            41:     target_phys_addr_t gic_cpu_if_addr;
1.1.1.2   root       42:     int nb_cpus;
                     43:     int board_id;
1.1.1.5   root       44:     int (*atag_board)(const struct arm_boot_info *info, void *p);
1.1.1.7 ! root       45:     /* multicore boards that use the default secondary core boot functions
        !            46:      * can ignore these two function calls. If the default functions won't
        !            47:      * work, then write_secondary_boot() should write a suitable blob of
        !            48:      * code mimicing the secondary CPU startup process used by the board's
        !            49:      * boot loader/boot ROM code, and secondary_cpu_reset_hook() should
        !            50:      * perform any necessary CPU reset handling and set the PC for thei
        !            51:      * secondary CPUs to point at this boot blob.
        !            52:      */
        !            53:     void (*write_secondary_boot)(CPUARMState *env,
        !            54:                                  const struct arm_boot_info *info);
        !            55:     void (*secondary_cpu_reset_hook)(CPUARMState *env,
        !            56:                                      const struct arm_boot_info *info);
1.1.1.4   root       57:     /* Used internally by arm_boot.c */
                     58:     int is_linux;
                     59:     target_phys_addr_t initrd_size;
                     60:     target_phys_addr_t entry;
1.1.1.2   root       61: };
1.1.1.7 ! root       62: void arm_load_kernel(CPUARMState *env, struct arm_boot_info *info);
1.1       root       63: 
1.1.1.2   root       64: /* Multiplication factor to convert from system clock ticks to qemu timer
                     65:    ticks.  */
                     66: extern int system_clock_scale;
1.1       root       67: 
                     68: #endif /* !ARM_MISC_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.