923f7975fe
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.
57 lines
1.8 KiB
Plaintext
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;
|