diff options
author | Damien Zammit <damien@zamaudio.com> | 2019-11-11 20:35:17 +1100 |
---|---|---|
committer | Damien Zammit <damien@zamaudio.com> | 2019-11-11 20:42:51 +1100 |
commit | af33188fc5a13ad7ad8e6160e9bc1884a8d4af29 (patch) | |
tree | ff740bbfee86a4ad39cd28292b5114763e9c2dd3 /i386 | |
parent | e45601b0780b2c81a6448cdafd952cb98112b9f4 (diff) |
deb base
Diffstat (limited to 'i386')
-rw-r--r-- | i386/i386at/conf.c | 3 | ||||
-rw-r--r-- | i386/i386at/interrupt.S | 7 | ||||
-rw-r--r-- | i386/i386at/kd.c | 4 | ||||
-rw-r--r-- | i386/include/mach/i386/fp_reg.h | 2 |
4 files changed, 16 insertions, 0 deletions
diff --git a/i386/i386at/conf.c b/i386/i386at/conf.c index fe7c7c09..7b82ff47 100644 --- a/i386/i386at/conf.c +++ b/i386/i386at/conf.c @@ -31,6 +31,7 @@ #include <device/conf.h> #include <kern/mach_clock.h> #include <i386at/model_dep.h> +#include <device/ramdisk.h> #define timename "time" @@ -135,6 +136,8 @@ struct dev_ops dev_name_list[] = nodev }, #endif /* MACH_HYP */ + RAMDISK_DEV_OPS, + #ifdef MACH_KMSG { kmsgname, kmsgopen, kmsgclose, kmsgread, nulldev_write, kmsggetstat, nulldev_setstat, nomap, diff --git a/i386/i386at/interrupt.S b/i386/i386at/interrupt.S index 076e34bc..9f159c5c 100644 --- a/i386/i386at/interrupt.S +++ b/i386/i386at/interrupt.S @@ -41,11 +41,18 @@ ENTRY(interrupt) cli /* XXX no more nested interrupts */ popl %eax /* restore irq number */ movl %eax,%ecx /* copy irq number */ + movb $0xff,%al /* mask for all interrupts */ + outb %al,$(PIC_MASTER_OCW) /* mask master out */ + outb %al,$(PIC_SLAVE_OCW) /* mask slave out */ + movl %ecx,%eax /* restore eax */ movb $(NON_SPEC_EOI),%al /* non-specific EOI */ outb %al,$(PIC_MASTER_ICW) /* ack interrupt to master */ cmpl $8,%ecx /* do we need to ack slave? */ jl 1f /* no, skip it */ outb %al,$(PIC_SLAVE_ICW) 1: + movb $0,%al /* empty mask */ + outb %al,$(PIC_MASTER_OCW) /* unmask master */ + outb %al,$(PIC_SLAVE_OCW) /* unmask slave */ ret /* return */ END(interrupt) diff --git a/i386/i386at/kd.c b/i386/i386at/kd.c index 8e9222a0..c448adab 100644 --- a/i386/i386at/kd.c +++ b/i386/i386at/kd.c @@ -1733,6 +1733,10 @@ kd_parserest(u_char *cp) kd_erase(number[0]); esc_spt = esc_seq; break; + case 'n': + /* Ignore status/cursor report request */ + esc_spt = esc_seq; + break; case '\0': break; /* not enough yet */ default: diff --git a/i386/include/mach/i386/fp_reg.h b/i386/include/mach/i386/fp_reg.h index 56730555..f4906238 100644 --- a/i386/include/mach/i386/fp_reg.h +++ b/i386/include/mach/i386/fp_reg.h @@ -117,6 +117,7 @@ struct i386_xfp_save { #define FPS_C3 0x4000 /* condition code bit 3 */ #define FPS_BUSY 0x8000 /* FPU busy */ +#ifdef MACH_KERNEL /* * Kind of floating-point support provided by kernel. */ @@ -125,5 +126,6 @@ struct i386_xfp_save { #define FP_287 2 /* 80287 */ #define FP_387 3 /* 80387 or 80486 */ #define FP_387X 4 /* FXSAVE/RSTOR-capable */ +#endif #endif /* _MACH_I386_FP_REG_H_ */ |