From owner-p4-projects@FreeBSD.ORG Thu Apr 27 05:55:06 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 810B616A404; Thu, 27 Apr 2006 05:55:06 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4082D16A401 for ; Thu, 27 Apr 2006 05:55:06 +0000 (UTC) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id EC6CD43D46 for ; Thu, 27 Apr 2006 05:55:05 +0000 (GMT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k3R5t5bC048226 for ; Thu, 27 Apr 2006 05:55:05 GMT (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k3R5t5cu048223 for perforce@freebsd.org; Thu, 27 Apr 2006 05:55:05 GMT (envelope-from marcel@freebsd.org) Date: Thu, 27 Apr 2006 05:55:05 GMT Message-Id: <200604270555.k3R5t5cu048223@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Cc: Subject: PERFORCE change 96194 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Apr 2006 05:55:06 -0000 http://perforce.freebsd.org/chv.cgi?CH=96194 Change 96194 by marcel@marcel_nfs on 2006/04/27 05:54:04 IFC @96193 Affected files ... .. //depot/projects/uart/dev/uart/uart_dev_ns8250.c#43 integrate .. //depot/projects/uart/i386/i386/pmap.c#35 integrate .. //depot/projects/uart/i386/i386/vm_machdep.c#15 integrate Differences ... ==== //depot/projects/uart/dev/uart/uart_dev_ns8250.c#43 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_ns8250.c,v 1.20 2006/04/23 21:15:07 marcel Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/uart/uart_dev_ns8250.c,v 1.21 2006/04/27 05:43:10 marcel Exp $"); #include #include @@ -611,7 +611,7 @@ mcr = MCR_IE; if (sc->sc_sysdev == NULL) { /* By using ns8250_init() we also set DTR and RTS. */ - ns8250_init(bas, 9600, 8, 1, UART_PARITY_NONE); + ns8250_init(bas, 115200, 8, 1, UART_PARITY_NONE); } else mcr |= MCR_DTR | MCR_RTS; ==== //depot/projects/uart/i386/i386/pmap.c#35 (text+ko) ==== @@ -75,7 +75,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.550 2006/04/26 21:49:19 peter Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/pmap.c,v 1.551 2006/04/27 05:02:21 delphij Exp $"); /* * Manages physical address maps. @@ -260,7 +260,7 @@ "Number of times pmap_pte_quick didn't change PMAP1"); static struct mtx PMAP2mutex; -static PMAP_INLINE void free_pv_entry(pmap_t pmap, pv_entry_t pv); +static void free_pv_entry(pmap_t pmap, pv_entry_t pv); static pv_entry_t get_pv_entry(pmap_t locked_pmap, int try); static void pmap_clear_ptes(vm_page_t m, int bit); @@ -1574,7 +1574,7 @@ /* * free the pv_entry back to the free list */ -static PMAP_INLINE void +static void free_pv_entry(pmap_t pmap, pv_entry_t pv) { vm_page_t m; ==== //depot/projects/uart/i386/i386/vm_machdep.c#15 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.269 2006/03/10 05:55:26 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/i386/i386/vm_machdep.c,v 1.270 2006/04/27 05:18:26 sobomax Exp $"); #include "opt_isa.h" #include "opt_npx.h" @@ -590,7 +590,9 @@ static void cpu_reset_real() { + int b; + disable_intr(); #ifdef CPU_ELAN if (elan_mmcr != NULL) elan_mmcr->RESCFG = 1; @@ -606,7 +608,6 @@ /* * 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. */ @@ -621,11 +622,26 @@ */ outb(IO_KBD + 4, 0xFE); DELAY(500000); /* wait 0.5 sec to see if that did it */ - printf("Keyboard reset did not work, attempting CPU shutdown\n"); - DELAY(1000000); /* wait 1 sec for printf to complete */ #endif + /* Try the PCI reset */ + outb(0xcf9, 0x2); + outb(0xcf9, 0x6); + DELAY(500000); /* wait 0.5 sec to see if that did it */ + + /* Try port 0x92 fast reset */ + b = inb(0x92); + /* Check the the hardware actually has the port in question */ + if (b != 0xff) { + if ((b & 0x1) != 0) + outb(0x92, b & 0xfe); + outb(0x92, b | 0x1); + DELAY(500000); /* wait 0.5 sec to see if that did it */ + } #endif /* PC98 */ + printf("No known reset method did work, attempting CPU shutdown\n"); + DELAY(1000000); /* wait 1 sec for printf to complete */ + /* Force a shutdown by unmapping entire address space. */ bzero((caddr_t)PTD, NBPTD);