qemu-e2k/hw/mips
Matthew Fortune d6ca4277ee hw/mips: Do not clear BEV for MIPS malta kernel load
The BEV flag controls whether the boot exception vector is still
in place when starting a kernel.  When cleared the exception vector
at EBASE (or hard coded address of 0x80000000) is used instead.

The early stages of the linux kernel would benefit from BEV still
being set to ensure any faults get handled by the boot rom exception
handlers.  This is a moot point for system qemu as there aren't really
any BEV handlers, but there are other good reasons to change this...

The UHI (semi-hosting interface) defines special behaviours depending
on whether an application starts in an environment with BEV set or
cleared. When BEV is set then UHI assumes that a bootloader is
relatively dumb and has no advanced exception handling logic.
However, when BEV is cleared then UHI assumes that the bootloader
has the ability to handle UHI exceptions with its exception handlers
and will unwind and forward UHI SYSCALL exceptions to the exception
vector that was installed prior to running the application.

Signed-off-by: Matthew Fortune <matthew.fortune@imgtec.com>
Signed-off-by: Leon Alrae <leon.alrae@imgtec.com>
2015-06-26 09:08:50 +01:00
..
addr.c
cputimer.c
gt64xxx_pci.c gt64xxx: remove isa_mem_base usage 2015-02-13 14:09:27 +00:00
Makefile.objs mips jazz: compile only in 64 bit 2015-06-11 10:13:29 +01:00
mips_fulong2e.c target-mips: fix memory leak 2015-04-30 16:06:17 +03:00
mips_int.c
mips_jazz.c net/dp8393x: add PROM to store MAC address 2015-06-11 10:13:30 +01:00
mips_malta.c hw/mips: Do not clear BEV for MIPS malta kernel load 2015-06-26 09:08:50 +01:00
mips_mipssim.c mips: memory: Replace memory_region_init_ram with memory_region_allocate_system_memory 2015-03-25 14:35:31 +01:00
mips_r4k.c target-mips: fix memory leak 2015-04-30 16:06:17 +03:00