Closed Xoooo closed 8 years ago
Thanks for the report, I'm looking into this.
The GPF on startup is fixed locally (race condition), but there's a nagging bug that leads to running code at 0x0 - but only if -smp
is >1. Working on resolving that now.
Thanks for reply. : )
Please give the https://github.com/jmolloy/pedigree/tree/fix-multiprocessor branch a go, does it work for you?
I'm still working on some concurrency problems, but that should be much more functional than the code from a few days ago.
The fix-multiprocessor branch has now been merged back into develop. I'll close this for now, please feel free to re-open if there's any further issues that arise with the SMP support on x86_64. Thanks!
I modified the script file:
!/bin/bash
SERIAL_PORTS="-serial file:./../build/serial.txt -serial file:./../build/memlog.txt"
if [ ! -z "$NO_SERIAL_PORTS" ]; then SERIAL_PORTS="" fi
AIO="native"
if [ ! "$(uname -s)" == "Linux" ]; then AIO="threads" fi
qemu-system-x86_64 -smp 4 -m 512\ -drive file=./../build/hdd.img,if=ide,media=disk,cache=writeback,aio=$AIO,index=0,format=raw \ -drive file=./../build/pedigree.iso,if=ide,media=cdrom,cache=writeback,aio=$AIO,index=2,format=raw \ -boot d -vga std $SERIAL_PORTS -rtc base=utc $*
However, the system enters the exception handler...