This patchset modifies SeaBIOS source code to be able to build a firmware for

the PA-RISC CPU architecture. This firmware can then be used to boot a virtual

PA-RISC machine with PA-Linux and HP/UX on QEMU.



Where possible existing SeaBIOS drivers and infrastructure is reused.

Since PA-RISC is native 32/64-Bit, the various segment accessors are

not needed and replaced by simple variable accesses.



Helge Deller (31):

  Add config option for PA-RISC arch

  biosvar.h: Add accessors for various BIOS data areas

  Drivers: Use get_bda_ptr() BDA accessor

  byteorder.h: Add endianess conversion functions

  farptr.h: Add FLATPTR* accessor functions for parisc

  font.c: Disable built-in x86 font on parisc

  paravirt.h: Add PORT_QEMU_CFG_CTL for parisc

  pciinit.c: Initialize PA-RISC Dino PCI chip

  shadow.c: Compile int3 inline assembly on x86 only

  Add portaddr_t typedef to specify I/O port addresses

  ata.c: Allow to boot on PA-RISC

  ata.h: Add ATA IDE port addresses for PA-RISC

  blockcmd.c: Prevent unaligned access crash on PA-RISC

  scsi: Add fields for specifying target and lun of SCSI devices

  lsi-scsi.c: Convert SCSI script to little endian

  pci.c: Add PCI ports for PA-RISC and access PCI bus in little-endian

  rtc.h: Add CMOS/RTC addresses for PA-RISC

  serialio.h: Add serial port adresses for PA-RISC

  malloc.c: Implement a PA-RISC specific malloc()

  output.c: Add PA-RISC specific output behaviour

  output.c: Make printf() capable to print 64bit int values

  romfile.c: return values are returned as little-endian

  sercon.c: Use SEROFF_IIR constant

  stacks.h: Provide replacement for thread functions when

    !CONFIG_THREADS

  version.c: Mark version strings const

  x86.h: Provide replacement functions for PA-RISC

  parisc: Add PA-RISC related code

  string.c: reimplement mem*_far() functions for PA-RISC

  boot.c: Add boot disc chooser for PA-RISC

  block.c: Allow PA-RISC to boot from ATA drives

  ata.c: Add missing endianess conversion functions



 Makefile                    |    9 +-

 Makefile.parisc             |  192 ++++

 src/Kconfig                 |   54 +-

 src/biosvar.h               |   31 +

 src/block.c                 |   10 +-

 src/block.h                 |    2 +

 src/boot.c                  |   48 +

 src/byteorder.h             |   74 ++

 src/farptr.h                |   14 +-

 src/font.c                  |    2 +

 src/fw/csm.c                |    2 +-

 src/fw/paravirt.h           |    7 +

 src/fw/pciinit.c            |   53 +-

 src/fw/shadow.c             |    2 +

 src/hw/ata.c                |   70 +-

 src/hw/ata.h                |   14 +-

 src/hw/blockcmd.c           |   17 +-

 src/hw/blockcmd.h           |    2 +-

 src/hw/esp-scsi.c           |    2 +-

 src/hw/lsi-scsi.c           |    6 +-

 src/hw/megasas.c            |    2 +-

 src/hw/mpt-scsi.c           |    2 +-

 src/hw/pci.c                |   13 +-

 src/hw/pvscsi.c             |    2 +-

 src/hw/rtc.h                |    7 +

 src/hw/serialio.c           |    2 +-

 src/hw/serialio.h           |   10 +-

 src/hw/usb-msc.c            |    2 +-

 src/hw/usb-uas.c            |    2 +-

 src/hw/virtio-scsi.c        |    2 +-

 src/malloc.c                |    4 +-

 src/malloc.h                |    8 +-

 src/output.c                |   56 +-

 src/parisc/b160l.h          |  630 +++++++++++

 src/parisc/head.S           |  319 ++++++

 src/parisc/hppa.h           |  370 +++++++

 src/parisc/hppa_hardware.h  |   49 +

 src/parisc/lasips2.c        |   66 ++

 src/parisc/lasips2.h        |   17 +

 src/parisc/malloc.c         |   91 ++

 src/parisc/pafirmware.lds.S |   69 ++

 src/parisc/parisc.c         | 1997 +++++++++++++++++++++++++++++++++++

 src/parisc/pdc.h            |  694 ++++++++++++

 src/parisc/sti.c            |  179 ++++

 src/parisc/sticore.h        |  326 ++++++

 src/parisc/stirom.c         |  652 ++++++++++++

 src/parisc/timer.c          |  103 ++

 src/post.c                  |    2 +-

 src/romfile.c               |    4 +-

 src/sercon.c                |    2 +-

 src/serial.c                |    4 +-

 src/stacks.h                |   17 +-

 src/string.c                |   27 +-

 src/types.h                 |    8 +-

 src/version.c               |    4 +-

 src/x86.h                   |    6 +

 56 files changed, 6236 insertions(+), 123 deletions(-)

 create mode 100644 Makefile.parisc

 create mode 100644 src/parisc/b160l.h

 create mode 100644 src/parisc/head.S

 create mode 100644 src/parisc/hppa.h

 create mode 100644 src/parisc/hppa_hardware.h

 create mode 100644 src/parisc/lasips2.c

 create mode 100644 src/parisc/lasips2.h

 create mode 100644 src/parisc/malloc.c

 create mode 100644 src/parisc/pafirmware.lds.S

 create mode 100644 src/parisc/parisc.c

 create mode 100644 src/parisc/pdc.h

 create mode 100644 src/parisc/sti.c

 create mode 100644 src/parisc/sticore.h

 create mode 100644 src/parisc/stirom.c

 create mode 100644 src/parisc/timer.c



-- 

2.29.2


_______________________________________________
SeaBIOS mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to