bios.c (103870) | bios.c (109623) |
---|---|
1/*- 2 * Copyright (c) 1997 Michael Smith 3 * Copyright (c) 1998 Jonathan Lemon 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 10 unchanged lines hidden (view full) --- 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * | 1/*- 2 * Copyright (c) 1997 Michael Smith 3 * Copyright (c) 1998 Jonathan Lemon 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions 8 * are met: --- 10 unchanged lines hidden (view full) --- 19 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25 * SUCH DAMAGE. 26 * |
27 * $FreeBSD: head/sys/i386/i386/bios.c 103870 2002-09-23 18:54:32Z alfred $ | 27 * $FreeBSD: head/sys/i386/i386/bios.c 109623 2003-01-21 08:56:16Z alfred $ |
28 */ 29 30/* 31 * Code for dealing with the BIOS in x86 PC systems. 32 */ 33 34#include "opt_isa.h" 35 --- 347 unchanged lines hidden (view full) --- 383 args->seg.code32.base = (u_int)&bios16_jmp & PG_FRAME; 384 args->seg.code32.limit = 0xffff; 385 386 ptd = (pd_entry_t *)rcr3(); 387 if (ptd == (u_int *)IdlePTD) { 388 /* 389 * no page table, so create one and install it. 390 */ | 28 */ 29 30/* 31 * Code for dealing with the BIOS in x86 PC systems. 32 */ 33 34#include "opt_isa.h" 35 --- 347 unchanged lines hidden (view full) --- 383 args->seg.code32.base = (u_int)&bios16_jmp & PG_FRAME; 384 args->seg.code32.limit = 0xffff; 385 386 ptd = (pd_entry_t *)rcr3(); 387 if (ptd == (u_int *)IdlePTD) { 388 /* 389 * no page table, so create one and install it. 390 */ |
391 pte = (pt_entry_t *)malloc(PAGE_SIZE, M_TEMP, M_WAITOK); | 391 pte = (pt_entry_t *)malloc(PAGE_SIZE, M_TEMP, 0); |
392 ptd = (pd_entry_t *)((u_int)ptd + KERNBASE); 393 *ptd = vtophys(pte) | PG_RW | PG_V; 394 } else { 395 /* 396 * this is a user-level page table 397 */ 398 pte = PTmap; 399 } --- 277 unchanged lines hidden --- | 392 ptd = (pd_entry_t *)((u_int)ptd + KERNBASE); 393 *ptd = vtophys(pte) | PG_RW | PG_V; 394 } else { 395 /* 396 * this is a user-level page table 397 */ 398 pte = PTmap; 399 } --- 277 unchanged lines hidden --- |