Don Bruder's extensive debug output provided in PR 16907 showed that
intvid didn't find the frame buffer on his PB 170 in NetBSD 1.5. This is because the PowerBook 140/145+145B/170 entries in intvid_info[] were entered into the table directly from the corresponding hardware tech notes. Unfortunately, the actual frame buffer is mapped at an offset of 32 KB from the base of the region (at least when in 32-bit mode). Since all 4 of these systems have identical video configurations, I'm updating the rest to match.
This commit is contained in:
parent
323d0df617
commit
91087ff57e
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: machdep.c,v 1.272 2002/04/27 19:29:09 shiba Exp $ */
|
||||
/* $NetBSD: machdep.c,v 1.273 2002/05/21 07:05:31 scottr Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
@ -375,6 +375,8 @@ consinit(void)
|
||||
void
|
||||
cpu_startup(void)
|
||||
{
|
||||
extern char *start;
|
||||
extern char *etext;
|
||||
caddr_t v;
|
||||
unsigned i;
|
||||
int vers;
|
||||
@ -485,6 +487,19 @@ cpu_startup(void)
|
||||
format_bytes(pbuf, sizeof(pbuf), bufpages * NBPG);
|
||||
printf("using %d buffers containing %s of memory\n", nbuf, pbuf);
|
||||
|
||||
/*
|
||||
* Tell the VM system that writing to kernel text isn't allowed.
|
||||
* If we don't, we might end up COW'ing the text segment!
|
||||
*
|
||||
* XXX I'd like this to be m68k_trunc_page(&kernel_text) instead
|
||||
* XXX of the reference to &start, but we have to keep the
|
||||
* XXX interrupt vectors and such writable for the Mac toolbox.
|
||||
*/
|
||||
if (uvm_map_protect(kernel_map,
|
||||
m68k_trunc_page(&start + (NBPG - 1)), m68k_round_page(&etext),
|
||||
(UVM_PROT_READ | UVM_PROT_EXEC), TRUE) != 0)
|
||||
panic("can't protect kernel text");
|
||||
|
||||
/*
|
||||
* Set up CPU-specific registers, cache, etc.
|
||||
*/
|
||||
@ -2019,15 +2034,19 @@ struct intvid_info_t {
|
||||
u_long fblen;
|
||||
} intvid_info[] = {
|
||||
{ MACH_MACCLASSICII, 0x009f9a80, 0x0, 21888 },
|
||||
{ MACH_MACPB140, 0xfee00000, 0x0, 32 * 1024 },
|
||||
{ MACH_MACPB145, 0xfee00000, 0x0, 32 * 1024 },
|
||||
{ MACH_MACPB170, 0xfee00000, 0x0, 32 * 1024 },
|
||||
{ MACH_MACPB140, 0xfee08000, 0x0, 32 * 1024 },
|
||||
{ MACH_MACPB145, 0xfee08000, 0x0, 32 * 1024 },
|
||||
{ MACH_MACPB170, 0xfee08000, 0x0, 32 * 1024 },
|
||||
{ MACH_MACPB150, 0x60000000, 0x0, 128 * 1024 },
|
||||
{ MACH_MACPB160, 0x60000000, 0x0ffe0000, 128 * 1024 },
|
||||
{ MACH_MACPB165, 0x60000000, 0x0ffe0000, 128 * 1024 },
|
||||
{ MACH_MACPB180, 0x60000000, 0x0ffe0000, 128 * 1024 },
|
||||
{ MACH_MACPB210, 0x60000000, 0x0, 128 * 1024 },
|
||||
{ MACH_MACPB230, 0x60000000, 0x0, 128 * 1024 },
|
||||
{ MACH_MACPB250, 0x60000000, 0x0, 128 * 1024 },
|
||||
{ MACH_MACPB270, 0x60000000, 0x0, 128 * 1024 },
|
||||
{ MACH_MACPB280, 0x60000000, 0x0, 128 * 1024 },
|
||||
{ MACH_MACPB280C, 0x60000000, 0x0, 128 * 1024 },
|
||||
{ MACH_MACIICI, 0x0, 0x0, 320 * 1024 },
|
||||
{ MACH_MACIISI, 0x0, 0x0, 320 * 1024 },
|
||||
{ MACH_MACCCLASSIC, 0x50f40000, 0x0, 512 * 1024 },
|
||||
|
Loading…
Reference in New Issue
Block a user