[OpenBIOS] [PATCH 0/7] SPARC64: *BSD fixup patchset

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Sun May 4 19:49:48 CEST 2014


This patchset is a result of my work to get the *BSD kernels to boot under QEMU
SPARC64, and should be applied on top of the timer patchset previously posted.

With these patches applied we now get the following:

  - NetBSD kernels start and enumerate PCI devices but panic due to
    missing device properties

  - Old OpenBSD kernels start and enumerate PCI devices but panic due
    to missing device properties

  - New OpenBSD kernels trap soon after trap table takeover (possible
    window fill/spill issue?)

  - FreeBSD kernels start and die during PCI device enumeration similar
    to above but seem to stop console output after trap table takeover?

The first four patches fix bugs which enable us to unmap page zero on SPARC64
to catch NULL dereferences (in line with all other architectures) and helped further
reveal the bugs fixed by the subsequent patches.


Mark Cave-Ayland (7):
  pc_serial.c: fix up missing address property
  pc_kbd.c: fix up reg property and missing address property
  SPARC64: fix NULL pointer reference when attempting kernel boot
  SPARC64: Remove zero page mapping from MMU to enable detection of
    NULL pointer dereferences
  SPARC64: fix up translation property mode to make it a valid TTE
  ciface.fs: handle buggy callers to test-method
  SPARC64: only map 8MB RAM on startup

 openbios-devel/arch/sparc64/boot.c          |   40 ++++++++++++++-------------
 openbios-devel/arch/sparc64/ofmem_sparc64.c |    6 ++--
 openbios-devel/drivers/pc_kbd.c             |   15 +++++++++-
 openbios-devel/drivers/pc_serial.c          |    6 ++++
 openbios-devel/forth/system/ciface.fs       |   25 +++++++++++++----
 5 files changed, 64 insertions(+), 28 deletions(-)

-- 
1.7.10.4




More information about the OpenBIOS mailing list