2
0

arm-misc.h 1.2 KB

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