Date: Fri, 20 Sep 2002 20:03:41 -0700 (PDT) From: Peter Wemm <peter@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 17813 for review Message-ID: <200209210303.g8L33fiS098262@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://people.freebsd.org/~peter/p4db/chv.cgi?CH=17813 Change 17813 by peter@peter_daintree on 2002/09/20 20:03:13 Unifdef PC98 Affected files ... .. //depot/projects/hammer/sys/x86_64/include/bus.h#2 edit .. //depot/projects/hammer/sys/x86_64/include/clock.h#2 edit .. //depot/projects/hammer/sys/x86_64/include/md_var.h#3 edit .. //depot/projects/hammer/sys/x86_64/include/pci_cfgreg.h#2 edit .. //depot/projects/hammer/sys/x86_64/isa/icu.h#2 edit .. //depot/projects/hammer/sys/x86_64/isa/intr_machdep.c#2 edit .. //depot/projects/hammer/sys/x86_64/isa/isa.c#2 edit .. //depot/projects/hammer/sys/x86_64/isa/isa.h#2 edit .. //depot/projects/hammer/sys/x86_64/isa/npx.c#3 edit .. //depot/projects/hammer/sys/x86_64/isa/timerreg.h#2 edit .. //depot/projects/hammer/sys/x86_64/isa/vector.s#2 edit .. //depot/projects/hammer/sys/x86_64/x86_64/genassym.c#3 edit .. //depot/projects/hammer/sys/x86_64/x86_64/locore.s#6 edit .. //depot/projects/hammer/sys/x86_64/x86_64/nexus.c#2 edit .. //depot/projects/hammer/sys/x86_64/x86_64/vm_machdep.c#3 edit Differences ... ==== //depot/projects/hammer/sys/x86_64/include/bus.h#2 (text+ko) ==== @@ -34,17 +34,11 @@ #ifndef _I386_BUS_H_ #define _I386_BUS_H_ -#ifdef PC98 -/* NEC PC-98 */ -#include <machine/bus_pc98.h> -#else -/* IBM-PC */ #include <machine/bus_at386.h> -#endif #include <machine/bus_dma.h> /* - * Stream accesses are the same as normal accesses on i386/pc98; there are no + * Stream accesses are the same as normal accesses on i386; there are no * supported bus systems with an endianess different from the host one. */ #define bus_space_read_stream_1(t, h, o) bus_space_read_1((t), (h), (o)) ==== //depot/projects/hammer/sys/x86_64/include/clock.h#2 (text+ko) ==== @@ -35,12 +35,7 @@ int acquire_timer2(int mode); int release_timer0(void); int release_timer2(void); -#ifndef PC98 int rtcin(int val); -#else -int acquire_timer1(int mode); -int release_timer1(void); -#endif int sysbeep(int pitch, int period); void timer_restore(void); ==== //depot/projects/hammer/sys/x86_64/include/md_var.h#3 (text+ko) ==== @@ -50,10 +50,6 @@ extern u_int cyrix_did; extern uint16_t *elan_mmcr; extern char kstack[]; -#ifdef PC98 -extern int need_pre_dma_flush; -extern int need_post_dma_flush; -#endif extern void (*ovbcopy_vector)(const void *from, void *to, size_t len); extern char sigcode[]; extern int szsigcode; ==== //depot/projects/hammer/sys/x86_64/include/pci_cfgreg.h#2 (text+ko) ==== @@ -38,12 +38,7 @@ #define CONF1_ENABLE_RES1 0x80000000ul #define CONF2_ENABLE_PORT 0x0cf8 -#ifdef PC98 -#define CONF2_FORWARD_PORT 0x0cf9 -#else #define CONF2_FORWARD_PORT 0x0cfa -#endif - #define CONF2_ENABLE_CHK 0x0e #define CONF2_ENABLE_RES 0x0e ==== //depot/projects/hammer/sys/x86_64/isa/icu.h#2 (text+ko) ==== @@ -80,25 +80,6 @@ /* * Interrupt enable bits - in normal order of priority (which we change) */ -#ifdef PC98 -#define IRQ0 0x0001 -#define IRQ1 0x0002 -#define IRQ2 0x0004 -#define IRQ3 0x0008 -#define IRQ4 0x0010 -#define IRQ5 0x0020 -#define IRQ6 0x0040 -#define IRQ7 0x0080 -#define IRQ_SLAVE 0x0080 -#define IRQ8 0x0100 -#define IRQ9 0x0200 -#define IRQ10 0x0400 -#define IRQ11 0x0800 -#define IRQ12 0x1000 -#define IRQ13 0x2000 -#define IRQ14 0x4000 -#define IRQ15 0x8000 -#else #define IRQ0 0x0001 /* highest priority - timer */ #define IRQ1 0x0002 #define IRQ_SLAVE 0x0004 @@ -116,20 +97,14 @@ #define IRQ5 0x0020 #define IRQ6 0x0040 #define IRQ7 0x0080 /* lowest - parallel printer */ -#endif /* * Interrupt Control offset into Interrupt descriptor table (IDT) */ #define ICU_OFFSET 32 /* 0-31 are processor exceptions */ -#ifdef PC98 -#define ICU_IMR_OFFSET 2 -#define ICU_SLAVEID 7 -#else #define ICU_IMR_OFFSET 1 #define ICU_SLAVEID 2 -#endif #define ICU_EOI 0x20 #ifdef APIC_IO ==== //depot/projects/hammer/sys/x86_64/isa/intr_machdep.c#2 (text+ko) ==== @@ -64,13 +64,7 @@ #include <machine/smp.h> #include <machine/resource.h> #endif /* APIC_IO */ -#ifdef PC98 -#include <pc98/pc98/pc98.h> -#include <pc98/pc98/pc98_machdep.h> -#include <pc98/pc98/epsonio.h> -#else #include <i386/isa/isa.h> -#endif #include <i386/isa/icu.h> #ifdef DEV_ISA @@ -158,16 +152,11 @@ static void ithread_disable(int vector); static void init_i8259(void); -#ifdef PC98 -#define NMI_PARITY 0x04 -#define NMI_EPARITY 0x02 -#else #define NMI_PARITY (1 << 7) #define NMI_IOCHAN (1 << 6) #define ENMI_WATCHDOG (1 << 7) #define ENMI_BUSTIMER (1 << 6) #define ENMI_IOSTATUS (1 << 5) -#endif #ifdef DEV_ISA /* @@ -245,22 +234,6 @@ int cd; { int retval = 0; -#ifdef PC98 - int port = inb(0x33); - - log(LOG_CRIT, "NMI PC98 port = %x\n", port); - if (epson_machine_id == 0x20) - epson_outb(0xc16, epson_inb(0xc16) | 0x1); - if (port & NMI_PARITY) { - log(LOG_CRIT, "BASE RAM parity error, likely hardware failure."); - retval = 1; - } else if (port & NMI_EPARITY) { - log(LOG_CRIT, "EXTENDED RAM parity error, likely hardware failure."); - retval = 1; - } else { - log(LOG_CRIT, "\nNMI Resume ??\n"); - } -#else /* IBM-PC */ int isa_port = inb(0x61); int eisa_port = inb(0x461); @@ -302,7 +275,6 @@ log(LOG_CRIT, "EISA I/O port status error."); retval = 1; } -#endif return(retval); } @@ -361,24 +333,14 @@ outb(IO_ICU1+ICU_IMR_OFFSET, NRSVIDT); /* starting at this vector index */ outb(IO_ICU1+ICU_IMR_OFFSET, IRQ_SLAVE); /* slave on line 7 */ -#ifdef PC98 #ifdef AUTO_EOI_1 - outb(IO_ICU1+ICU_IMR_OFFSET, 0x1f); /* (master) auto EOI, 8086 mode */ -#else - outb(IO_ICU1+ICU_IMR_OFFSET, 0x1d); /* (master) 8086 mode */ -#endif -#else /* IBM-PC */ -#ifdef AUTO_EOI_1 outb(IO_ICU1+ICU_IMR_OFFSET, 2 | 1); /* auto EOI, 8086 mode */ #else outb(IO_ICU1+ICU_IMR_OFFSET, 1); /* 8086 mode */ #endif -#endif /* PC98 */ outb(IO_ICU1+ICU_IMR_OFFSET, 0xff); /* leave interrupts masked */ outb(IO_ICU1, 0x0a); /* default to IRR on read */ -#ifndef PC98 outb(IO_ICU1, 0xc0 | (3 - 1)); /* pri order 3-7, 0-2 (com2 first) */ -#endif /* !PC98 */ #ifdef DEV_MCA if (MCA_system) @@ -389,15 +351,11 @@ outb(IO_ICU2+ICU_IMR_OFFSET, NRSVIDT+8); /* staring at this vector index */ outb(IO_ICU2+ICU_IMR_OFFSET, ICU_SLAVEID); /* my slave id is 7 */ -#ifdef PC98 - outb(IO_ICU2+ICU_IMR_OFFSET,9); /* 8086 mode */ -#else /* IBM-PC */ #ifdef AUTO_EOI_2 outb(IO_ICU2+ICU_IMR_OFFSET, 2 | 1); /* auto EOI, 8086 mode */ #else outb(IO_ICU2+ICU_IMR_OFFSET,1); /* 8086 mode */ #endif -#endif /* PC98 */ outb(IO_ICU2+ICU_IMR_OFFSET, 0xff); /* leave interrupts masked */ outb(IO_ICU2, 0x0a); /* default to IRR on read */ } ==== //depot/projects/hammer/sys/x86_64/isa/isa.c#2 (text+ko) ==== @@ -61,9 +61,6 @@ #include <sys/malloc.h> #include <machine/bus.h> #include <sys/rman.h> -#ifdef PC98 -#include <sys/systm.h> -#endif #include <machine/resource.h> @@ -131,119 +128,13 @@ start, end, count, flags); } -#ifdef PC98 -/* - * Indirection support. The type of bus_space_handle_t is - * defined in sys/i386/include/bus_pc98.h. - */ -struct resource * -isa_alloc_resourcev(device_t child, int type, int *rid, - bus_addr_t *res, bus_size_t count, u_int flags) -{ - struct isa_device* idev = DEVTOISA(child); - struct resource_list *rl = &idev->id_resources; - - device_t bus = device_get_parent(child); - bus_addr_t start; - struct resource *re; - struct resource **bsre; - int i, j, k, linear_cnt, ressz, bsrid; - - start = bus_get_resource_start(child, type, *rid); - - linear_cnt = count; - ressz = 1; - for (i = 1; i < count; ++i) { - if (res[i] != res[i - 1] + 1) { - if (i < linear_cnt) - linear_cnt = i; - ++ressz; - } - } - - re = isa_alloc_resource(bus, child, type, rid, - start + res[0], start + res[linear_cnt - 1], - linear_cnt, flags); - if (re == NULL) - return NULL; - - bsre = malloc(sizeof (struct resource *) * ressz, M_DEVBUF, M_NOWAIT); - if (bsre == NULL) { - resource_list_release(rl, bus, child, type, *rid, re); - return NULL; - } - bsre[0] = re; - - for (i = linear_cnt, k = 1; i < count; i = j, k++) { - for (j = i + 1; j < count; j++) { - if (res[j] != res[j - 1] + 1) - break; - } - bsrid = *rid + k; - bsre[k] = isa_alloc_resource(bus, child, type, &bsrid, - start + res[i], start + res[j - 1], j - i, flags); - if (bsre[k] == NULL) { - for (k--; k >= 0; k--) - resource_list_release(rl, bus, child, type, - *rid + k, bsre[k]); - free(bsre, M_DEVBUF); - return NULL; - } - } - - re->r_bushandle->bsh_res = bsre; - re->r_bushandle->bsh_ressz = ressz; - - return re; -} - -int -isa_load_resourcev(struct resource *re, bus_addr_t *res, bus_size_t count) -{ - bus_addr_t start; - int i; - - if (count > re->r_bushandle->bsh_maxiatsz) { - printf("isa_load_resourcev: map size too large\n"); - return EINVAL; - } - - start = rman_get_start(re); - for (i = 0; i < re->r_bushandle->bsh_maxiatsz; i++) { - if (i < count) - re->r_bushandle->bsh_iat[i] = start + res[i]; - else - re->r_bushandle->bsh_iat[i] = start; - } - - re->r_bushandle->bsh_iatsz = count; - re->r_bushandle->bsh_bam = re->r_bustag->bs_ra; /* relocate access */ - - return 0; -} -#endif /* PC98 */ - int isa_release_resource(device_t bus, device_t child, int type, int rid, struct resource *r) { struct isa_device* idev = DEVTOISA(child); struct resource_list *rl = &idev->id_resources; -#ifdef PC98 - /* - * Indirection support. The type of bus_space_handle_t is - * defined in sys/i386/include/bus_pc98.h. - */ - int i; - if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) { - for (i = 1; i < r->r_bushandle->bsh_ressz; i++) - resource_list_release(rl, bus, child, type, rid + i, - r->r_bushandle->bsh_res[i]); - if (r->r_bushandle->bsh_res != NULL) - free(r->r_bushandle->bsh_res, M_DEVBUF); - } -#endif return resource_list_release(rl, bus, child, type, rid, r); } ==== //depot/projects/hammer/sys/x86_64/isa/isa.h#2 (text+ko) ==== @@ -37,10 +37,6 @@ * $FreeBSD: src/sys/i386/isa/isa.h,v 1.23 1999/08/28 00:44:54 peter Exp $ */ -#ifdef PC98 -#error isa.h is included from PC-9801 source -#endif - #ifndef _I386_ISA_ISA_H_ #define _I386_ISA_ISA_H_ ==== //depot/projects/hammer/sys/x86_64/isa/npx.c#3 (text+ko) ==== @@ -77,12 +77,8 @@ #ifndef SMP #include <i386/isa/icu.h> -#ifdef PC98 -#include <pc98/pc98/pc98.h> -#else #include <i386/isa/isa.h> #endif -#endif #include <i386/isa/intr_machdep.h> #ifdef DEV_ISA #include <isa/isavar.h> @@ -237,11 +233,7 @@ * The BUSY# latch must be cleared in all cases so that the next * unmasked npx exception causes an interrupt. */ -#ifdef PC98 - outb(0xf8, 0); -#else outb(0xf0, 0); -#endif /* * fpcurthread is normally non-null here. In that case, schedule an @@ -290,13 +282,8 @@ IO_NPX, IO_NPX, IO_NPXSIZE, RF_ACTIVE); if (ioport_res == NULL) panic("npx: can't get ports"); -#ifdef PC98 if (resource_int_value("npx", 0, "irq", &irq_num) != 0) - irq_num = 8; -#else - if (resource_int_value("npx", 0, "irq", &irq_num) != 0) irq_num = 13; -#endif irq_rid = 0; irq_res = bus_alloc_resource(dev, SYS_RES_IRQ, &ioport_rid, irq_num, irq_num, 1, RF_ACTIVE); @@ -311,12 +298,8 @@ * Partially reset the coprocessor, if any. Some BIOS's don't reset * it after a warm boot. */ -#ifdef PC98 - outb(0xf8,0); -#else outb(0xf1, 0); /* full reset on some systems, NOP on others */ outb(0xf0, 0); /* clear BUSY# latch */ -#endif /* * Prepare to trap all ESC (i.e., NPX) instructions and all WAIT * instructions. We must set the CR0_MP bit and use the CR0_TS @@ -1133,7 +1116,5 @@ static devclass_t npxisa_devclass; DRIVER_MODULE(npxisa, isa, npxisa_driver, npxisa_devclass, 0, 0); -#ifndef PC98 DRIVER_MODULE(npxisa, acpi, npxisa_driver, npxisa_devclass, 0, 0); -#endif #endif /* DEV_ISA */ ==== //depot/projects/hammer/sys/x86_64/isa/timerreg.h#2 (text+ko) ==== @@ -84,15 +84,9 @@ * Macros for specifying values to be written into a mode register. */ #define TIMER_CNTR0 (IO_TIMER1 + 0) /* timer 0 counter port */ -#ifdef PC98 -#define TIMER_CNTR1 0x3fdb /* timer 1 counter port */ -#define TIMER_CNTR2 (IO_TIMER1 + 4) /* timer 2 counter port */ -#define TIMER_MODE (IO_TIMER1 + 6) /* timer mode port */ -#else #define TIMER_CNTR1 (IO_TIMER1 + 1) /* timer 1 counter port */ #define TIMER_CNTR2 (IO_TIMER1 + 2) /* timer 2 counter port */ #define TIMER_MODE (IO_TIMER1 + 3) /* timer mode port */ -#endif #define TIMER_SEL0 0x00 /* select counter 0 */ #define TIMER_SEL1 0x40 /* select counter 1 */ #define TIMER_SEL2 0x80 /* select counter 2 */ ==== //depot/projects/hammer/sys/x86_64/isa/vector.s#2 (text+ko) ==== @@ -3,18 +3,10 @@ * $FreeBSD: src/sys/i386/isa/vector.s,v 1.37 2001/12/20 23:48:30 jhb Exp $ */ -/* - * modified for PC98 by Kakefuda - */ - #include "opt_auto_eoi.h" #include <i386/isa/icu.h> -#ifdef PC98 -#include <pc98/pc98/pc98.h> -#else #include <i386/isa/isa.h> -#endif #include <i386/isa/intr_machdep.h> #define FAST_INTR_HANDLER_USES_ES 1 ==== //depot/projects/hammer/sys/x86_64/x86_64/genassym.c#3 (text+ko) ==== @@ -206,10 +206,3 @@ ASSYM(MTX_LOCK, offsetof(struct mtx, mtx_lock)); ASSYM(MTX_RECURSECNT, offsetof(struct mtx, mtx_recurse)); - -#ifdef PC98 -#include <machine/bus.h> - -ASSYM(BUS_SPACE_HANDLE_BASE, offsetof(struct bus_space_handle, bsh_base)); -ASSYM(BUS_SPACE_HANDLE_IAT, offsetof(struct bus_space_handle, bsh_iat)); -#endif ==== //depot/projects/hammer/sys/x86_64/x86_64/locore.s#6 (text+ko) ==== @@ -149,12 +149,6 @@ p0upa: .long 0 /* phys addr of proc0's UAREA */ p0kpa: .long 0 /* phys addr of proc0's STACK */ -#ifdef PC98 - .globl pc98_system_parameter -pc98_system_parameter: - .space 0x240 -#endif - /********************************************************************** * * Some handy macros @@ -212,18 +206,8 @@ */ NON_GPROF_ENTRY(btext) -#ifdef PC98 - /* save SYSTEM PARAMETER for resume (NS/T or other) */ - movl $0xa1400,%esi - movl $R(pc98_system_parameter),%edi - movl $0x0240,%ecx - cld - rep - movsb -#else /* IBM-PC */ /* Tell the bios to warmboot next time */ movw $0x1234,0x472 -#endif /* PC98 */ /* Set up a real frame in case the double return in newboot is executed. */ pushl %ebp @@ -251,33 +235,6 @@ */ movl $R(HIDENAME(tmpstk)),%esp -#ifdef PC98 - /* pc98_machine_type & M_EPSON_PC98 */ - testb $0x02,R(pc98_system_parameter)+220 - jz 3f - /* epson_machine_id <= 0x0b */ - cmpb $0x0b,R(pc98_system_parameter)+224 - ja 3f - - /* count up memory */ - movl $0x100000,%eax /* next, talley remaining memory */ - movl $0xFFF-0x100,%ecx -1: movl 0(%eax),%ebx /* save location to check */ - movl $0xa55a5aa5,0(%eax) /* write test pattern */ - cmpl $0xa55a5aa5,0(%eax) /* does not check yet for rollover */ - jne 2f - movl %ebx,0(%eax) /* restore memory */ - addl $PAGE_SIZE,%eax - loop 1b -2: subl $0x100000,%eax - shrl $17,%eax - movb %al,R(pc98_system_parameter)+1 -3: - - movw R(pc98_system_parameter+0x86),%ax - movw %ax,R(cpu_id) -#endif - call identify_cpu /* clear bss */ ==== //depot/projects/hammer/sys/x86_64/x86_64/nexus.c#2 (text+ko) ==== @@ -66,12 +66,8 @@ #ifdef DEV_ISA #include <isa/isavar.h> -#ifdef PC98 -#include <pc98/pc98/pc98.h> -#else #include <i386/isa/isa.h> #endif -#endif #include <i386/isa/icu.h> #include <i386/isa/intr_machdep.h> #include <sys/rtprio.h> @@ -192,11 +188,7 @@ * multiple bridges. (eg: laptops with docking stations) */ drq_rman.rm_start = 0; -#ifdef PC98 - drq_rman.rm_end = 3; -#else drq_rman.rm_end = 7; -#endif drq_rman.rm_type = RMAN_ARRAY; drq_rman.rm_descr = "DMA request lines"; /* XXX drq 0 not available on some machines */ @@ -410,28 +402,11 @@ rman_set_bustag(rv, I386_BUS_SPACE_MEM); } else if (type == SYS_RES_IOPORT) { rman_set_bustag(rv, I386_BUS_SPACE_IO); -#ifndef PC98 rman_set_bushandle(rv, rv->r_start); -#endif } -#ifdef PC98 - if ((type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) && - i386_bus_space_handle_alloc(rv->r_bustag, rv->r_start, count, - &rv->r_bushandle) != 0) { - rman_release_resource(rv); - return 0; - } -#endif - if (needactivate) { if (bus_activate_resource(child, type, *rid, rv)) { -#ifdef PC98 - if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) { - i386_bus_space_handle_free(rv->r_bustag, - rv->r_bushandle, rv->r_bushandle->bsh_sz); - } -#endif rman_release_resource(rv); return 0; } @@ -467,13 +442,7 @@ vaddr = (caddr_t) pmap_mapdev(paddr-poffs, psize+poffs) + poffs; } rman_set_virtual(r, vaddr); -#ifdef PC98 - /* PC-98: the type of bus_space_handle_t is the structure. */ - r->r_bushandle->bsh_base = (bus_addr_t) vaddr; -#else - /* IBM-PC: the type of bus_space_handle_t is u_int */ rman_set_bushandle(r, (bus_space_handle_t) vaddr); -#endif } return (rman_activate_resource(r)); } @@ -505,12 +474,6 @@ if (error) return error; } -#ifdef PC98 - if (type == SYS_RES_MEMORY || type == SYS_RES_IOPORT) { - i386_bus_space_handle_free(r->r_bustag, r->r_bushandle, - r->r_bushandle->bsh_sz); - } -#endif return (rman_release_resource(r)); } ==== //depot/projects/hammer/sys/x86_64/x86_64/vm_machdep.c#3 (text+ko) ==== @@ -42,9 +42,6 @@ */ #include "opt_npx.h" -#ifdef PC98 -#include "opt_pc98.h" -#endif #include "opt_reset.h" #include "opt_isa.h" #include "opt_kstack_pages.h" @@ -80,11 +77,7 @@ #include <sys/user.h> -#ifdef PC98 -#include <pc98/pc98/pc98.h> -#else #include <i386/isa/isa.h> -#endif static void cpu_reset_real(void); #ifdef SMP @@ -556,18 +549,7 @@ cpu_reset_real() { -#ifdef PC98 /* - * Attempt to do a CPU reset via CPU reset port. - */ - disable_intr(); - if ((inb(0x35) & 0xa0) != 0xa0) { - outb(0x37, 0x0f); /* SHUT0 = 0. */ - outb(0x37, 0x0b); /* SHUT1 = 0. */ - } - outb(0xf0, 0x00); /* Reset. */ -#else - /* * Attempt to do a CPU reset via the keyboard controller, * do not turn of the GateA20, as any machine that fails * to do the reset here would then end up in no man's land. @@ -579,7 +561,6 @@ printf("Keyboard reset did not work, attempting CPU shutdown\n"); DELAY(1000000); /* wait 1 sec for printf to complete */ #endif -#endif /* PC98 */ /* force a shutdown by unmapping entire address space ! */ bzero((caddr_t) PTD, PAGE_SIZE); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200209210303.g8L33fiS098262>