openbsd-ports/emulators/bochs/patches/patch-cpu_stack16_cc
todd 923f7975fe o take over maintainership
o too many changes to mention specifically, but amongst them:
	- better error reporting
	- openbsd boots, freebsd boots
	- new 'term' flavor, I added a textmode interface, the only drawback
	  is that control-c is intercepted, and you must kill -9 it from
	  another tty if it doesn't exit normally
	- new flavors:
		- debugger -> debug (for shortness)
		- i386
		- pci
		- smp
		- net (compiles, does not yet provide networking, if anyone
			wants to help, I'd be ELATED to have this fixed!)
		- no_x11 (made it actually work)
		- term (make sure to use 'log: /dev/null' or something else
		  on the cmdline, otherwise, debugging and the screen will
		  start getting quite confusing!)
	- better error reporting (and no error reporting where it is not
	  necessary; a typicall boot of cdrom28.fs is a screenful of output now)
	- in general, if the hardware reaches an unknown state, fail
	  gracefully instead of calling exit(1) .. are we trying to work or
	  are we trying to .. fail?  I like working myself.
2001-02-02 16:59:05 +00:00

57 lines
1.8 KiB
Plaintext

$OpenBSD: patch-cpu_stack16_cc,v 1.1 2001/02/02 16:59:09 todd Exp $
--- cpu/stack16.cc.orig Sat Mar 25 21:39:09 2000
+++ cpu/stack16.cc Tue Oct 17 12:04:01 2000
@@ -71,7 +71,7 @@ BX_CPU_C::POP_Ew(BxInstruction_t *i)
BX_CPU_C::PUSHAD16(BxInstruction_t *i)
{
#if BX_CPU_LEVEL < 2
- bx_panic("PUSHAD: not supported on an 8086\n");
+ bio->panic("PUSHAD: not supported on an 8086\n");
#else
Bit32u temp_ESP;
Bit16u sp;
@@ -85,7 +85,7 @@ BX_CPU_C::PUSHAD16(BxInstruction_t *i)
#if BX_CPU_LEVEL >= 2
if (protected_mode()) {
if ( !can_push(&BX_CPU_THIS_PTR sregs[BX_SEG_REG_SS].cache, temp_ESP, 16) ) {
- bx_panic("PUSHA(): stack doesn't have enough room!\n");
+ bio->panic("PUSHA(): stack doesn't have enough room!\n");
exception(BX_SS_EXCEPTION, 0, 0);
return;
}
@@ -94,7 +94,7 @@ BX_CPU_C::PUSHAD16(BxInstruction_t *i)
#endif
{
if (temp_ESP < 16)
- bx_panic("pushad: eSP < 16\n");
+ bio->panic("pushad: eSP < 16\n");
}
sp = SP;
@@ -115,14 +115,14 @@ BX_CPU_C::PUSHAD16(BxInstruction_t *i)
BX_CPU_C::POPAD16(BxInstruction_t *i)
{
#if BX_CPU_LEVEL < 2
- bx_panic("POPAD not supported on an 8086\n");
+ bio->panic("POPAD not supported on an 8086\n");
#else /* 286+ */
Bit16u di, si, bp, tmp, bx, dx, cx, ax;
if (protected_mode()) {
if ( !can_pop(16) ) {
- bx_panic("pop_a: not enough bytes on stack\n");
+ bio->panic("pop_a: not enough bytes on stack\n");
exception(BX_SS_EXCEPTION, 0, 0);
return;
}
@@ -152,7 +152,7 @@ BX_CPU_C::POPAD16(BxInstruction_t *i)
BX_CPU_C::PUSH_Iw(BxInstruction_t *i)
{
#if BX_CPU_LEVEL < 2
- bx_panic("PUSH_Iv: not supported on 8086!\n");
+ bio->panic("PUSH_Iv: not supported on 8086!\n");
#else
Bit16u imm16;