[OpenBIOS] [PATCH 0/9] Milax (OpenSolaris) bringup patchset

Mark Cave-Ayland mark.cave-ayland at ilande.co.uk
Sun Oct 23 16:22:35 CEST 2016


Following on from the previous work, this patchset gets tantalisingly
close to bringing up a 64-bit Milax (OpenSolaris) kernel under
qemu-system-sparc64:


$ ./qemu-system-sparc64 -bios openbios-builtin.elf.nostrip -cdrom milax032sparc.iso -nographic -boot d -m 256
OpenBIOS for Sparc64
Configuration device id QEMU version 1 machine id 0
kernel cmdline 
CPUs: 1 x SUNW,UltraSPARC-IIi
UUID: 00000000-0000-0000-0000-000000000000
Welcome to OpenBIOS v1.1 built on Oct 23 2016 13:36
  Type 'help' for detailed information
Trying cdrom:f...
Not a bootable ELF image
Not a bootable a.out image

Loading FCode image...
Loaded 7084 bytes
entry point is 0x4000
Evaluating FCode...
Evaluating FCode...
Ignoring failed claim for va 1000000 memsz bf34e!
Ignoring failed claim for va 1402000 memsz 303b3!
Ignoring failed claim for va 1800000 memsz 60a30!
SunOS Release 5.11 Version MilaX_0.3.2 64-bit
Copyright 1983-2008 Sun Microsystems, Inc.  All rights reserved.
Use is subject to license terms.
could not find debugger-vocabulary-hook>threads:interpret: exception -13 caught
interpret \ ident       "%Z%%M% %I%     %E% SMI"
\ Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
\ Use is subject to license terms.
\
\ CDDL HEADER START
\
\ The contents of this file are subject to the terms of the
\ Common Development and Distribution License, Version 1.0 only
\ (the "License").  You may not use this file except in compliance
\ with the License.
\
\ You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
\ or http://www.opensolaris.org/os/licensing.
\ See the License for unix-tte:interpret: exception -13 caught
interpret ' unix-tte is va>tte-data failed with error ffffffffffffffed
WARNING: consconfig: cannot find driver for screen device /pci at 1fe,0/QEMU,VGA at 2
Remounting root read/write
Probing for device nodes ...
WARNING: pcipsy0: unable to map reg entry 1

Preparing live image for use
WARNING: pcipsy0: unable to map reg entry 1

WARNING: pcipsy0: unable to map reg entry 1

Hostname: milax
Requesting System Maintenance Mode
(See /lib/svc/share/README for more information.)
Console login service(s) cannot run

Root password for system maintenance (control-d to bypass): 


Sadly at this point the console (and eventually QEMU) lock up hard which
suggests an emulation bug hiding away somewhere, and I do occasionally
see intermittent kernel panics on boot.

Having said that, this is still a significant milestone :)

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at ilande.co.uk>

Mark Cave-Ayland (9):
  SPARC64: add %tba to saved state context
  SPARC64: make sure globals are stored in the CPU context during I/D
    MMU traps
  SPARC64: comment out the context switch debug message
  SPARC64: increase Forth machine memory to 192K
  SPARC64: add support for kmdb kernel debugger
  SPARC64: add spacec@, spacew@, spacel@ and spacex@ Forth words
  SPARC64: set up small iomem region for memory-mapped devices
  SPARC64: memory map mk48t59 RTC and store its address in the device
    tree
  SPARC64: ensure the E (effect) bit is set for PROM TTE entries

 arch/sparc64/boot.h          |    1 +
 arch/sparc64/call-client.S   |   12 ---
 arch/sparc64/context.c       |    2 +-
 arch/sparc64/context.h       |    4 +-
 arch/sparc64/cpu.fs          |   11 ++-
 arch/sparc64/cpustate.h      |   13 ++-
 arch/sparc64/entry.S         |    9 +-
 arch/sparc64/ldscript        |    2 +-
 arch/sparc64/lib.c           |    7 ++
 arch/sparc64/ofmem_sparc64.c |    8 +-
 arch/sparc64/openbios.c      |  144 ++++++++++++++++++++++++++++++-
 arch/sparc64/spitfire.h      |    1 +
 arch/sparc64/vectors.S       |  196 +++++++++++++++++++++++++++++++++++++++++-
 drivers/pci.c                |   14 +++
 14 files changed, 387 insertions(+), 37 deletions(-)

-- 
1.7.10.4




More information about the OpenBIOS mailing list