The OpenBIOS NVRAM set-up is based on the layout defined in the CHRP
(Common Hardware Reference Platform) specification. This is the same
layout that is also used by the PAPR specification and thus by the SLOF
firmware of the pseries machine. By refactoring the NVRAM code from
mac_nvram.c, we can use the same functions for setting up the NVRAM
for both, OpenBIOS and SLOF. This way we can support the "-prom-env"
parameter of QEMU for SLOF, too, which is very useful to influence
the firmware boot process.

Thomas Huth (5):
  nvram: Introduce helper functions for CHRP "system" and "free space"
  sparc: Use the new common NVRAM functions for system and free space
  spapr_nvram: Pre-initialize the NVRAM to support the -prom-env
  nvram: Move the remaining CHRP NVRAM related code to chrp_nvram.[ch]
  nvram: Rename openbios_firmware_abi.h into sun_nvram.h

 hw/nvram/Makefile.objs                             |  1 +
 hw/nvram/chrp_nvram.c                              | 85 ++++++++++++++++++++++
 hw/nvram/mac_nvram.c                               | 49 +++----------
 hw/nvram/spapr_nvram.c                             |  6 ++
 hw/sparc/sun4m.c                                   | 35 ++-------
 hw/sparc64/sun4u.c                                 | 35 ++-------
 include/hw/nvram/chrp_nvram.h                      | 54 ++++++++++++++
 .../nvram/{openbios_firmware_abi.h => sun_nvram.h} | 47 +-----------
 tests/postcopy-test.c                              |  8 +-
 9 files changed, 179 insertions(+), 141 deletions(-)
 create mode 100644 hw/nvram/chrp_nvram.c
 create mode 100644 include/hw/nvram/chrp_nvram.h
 rename include/hw/nvram/{openbios_firmware_abi.h => sun_nvram.h} (50%)


Reply via email to