nvram.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #ifndef NVRAM_H
  2. #define NVRAM_H
  3. /* NVRAM helpers */
  4. typedef uint32_t (*nvram_read_t)(void *private, uint32_t addr);
  5. typedef void (*nvram_write_t)(void *private, uint32_t addr, uint32_t val);
  6. typedef struct nvram_t {
  7. void *opaque;
  8. nvram_read_t read_fn;
  9. nvram_write_t write_fn;
  10. } nvram_t;
  11. void NVRAM_set_byte (nvram_t *nvram, uint32_t addr, uint8_t value);
  12. uint8_t NVRAM_get_byte (nvram_t *nvram, uint32_t addr);
  13. void NVRAM_set_word (nvram_t *nvram, uint32_t addr, uint16_t value);
  14. uint16_t NVRAM_get_word (nvram_t *nvram, uint32_t addr);
  15. void NVRAM_set_lword (nvram_t *nvram, uint32_t addr, uint32_t value);
  16. uint32_t NVRAM_get_lword (nvram_t *nvram, uint32_t addr);
  17. void NVRAM_set_string (nvram_t *nvram, uint32_t addr,
  18. const char *str, uint32_t max);
  19. int NVRAM_get_string (nvram_t *nvram, uint8_t *dst, uint16_t addr, int max);
  20. void NVRAM_set_crc (nvram_t *nvram, uint32_t addr,
  21. uint32_t start, uint32_t count);
  22. int PPC_NVRAM_set_params (nvram_t *nvram, uint16_t NVRAM_size,
  23. const char *arch,
  24. uint32_t RAM_size, int boot_device,
  25. uint32_t kernel_image, uint32_t kernel_size,
  26. const char *cmdline,
  27. uint32_t initrd_image, uint32_t initrd_size,
  28. uint32_t NVRAM_image,
  29. int width, int height, int depth);
  30. typedef struct M48t59State M48t59State;
  31. void m48t59_write (void *private, uint32_t addr, uint32_t val);
  32. uint32_t m48t59_read (void *private, uint32_t addr);
  33. void m48t59_toggle_lock (void *private, int lock);
  34. M48t59State *m48t59_init_isa(ISABus *bus, uint32_t io_base, uint16_t size,
  35. int type);
  36. M48t59State *m48t59_init(qemu_irq IRQ, target_phys_addr_t mem_base,
  37. uint32_t io_base, uint16_t size, int type);
  38. void m48t59_set_addr (void *opaque, uint32_t addr);
  39. #endif /* !NVRAM_H */