From 4c3ee005d5d6e1d849e959d4418d715b6f44a96c Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Sun, 6 Sep 1998 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1998-09-06 --- pc/archgeneric.c | 8 ++++---- pc/memory.c | 18 +++++++++--------- pc/mmu.c | 4 ++-- pc/pci.c | 17 ++++++++++++++++- 4 files changed, 31 insertions(+), 16 deletions(-) diff --git a/pc/archgeneric.c b/pc/archgeneric.c index f8b9fc1e13687cb6e44e01291847b3401601ee76..d35aec8da92049f051d35432cc56e923f166e660 100644 --- a/pc/archgeneric.c +++ b/pc/archgeneric.c @@ -63,13 +63,13 @@ static X86type x86intel[] = { 5, 4, 23, "P55C MMX", }, { 5, 7, 23, "P54C VRT", }, { 6, 1, 16, "PentiumPro", },/* determined by trial and error */ - { 6, 3, 16, "PentiumII", }, /* determined by trial and error */ - { 6, 5, 16, "PentiumII", }, /* determined by trial and error */ + { 6, 3, 16, "PentiumII", }, + { 6, 5, 16, "PentiumII/Xeon", }, { 3, -1, 32, "386", }, /* family defaults */ { 4, -1, 22, "486", }, - { 5, -1, 23, "Pentium", }, - { 6, -1, 16, "PentiumPro", }, + { 5, -1, 23, "P5", }, + { 6, -1, 16, "P6", }, { -1, -1, 23, "unknown", }, /* total default */ }; diff --git a/pc/memory.c b/pc/memory.c index cb7e9c75e34117dafac6ffa2bd74511b8d9ba691..fade67457eabed83c28619908e79d72da8d48cb0 100644 --- a/pc/memory.c +++ b/pc/memory.c @@ -41,39 +41,39 @@ typedef struct { Lock; } RMap; -static Map mapupa[8]; +static Map mapupa[16]; static RMap rmapupa = { "unallocated unbacked physical memory", mapupa, - &mapupa[7], + &mapupa[nelem(mapupa)-1], }; -static Map xmapupa[8]; +static Map xmapupa[16]; static RMap xrmapupa = { "unbacked physical memory", xmapupa, - &xmapupa[7], + &xmapupa[nelem(xmapupa)-1], }; -static Map mapram[8]; +static Map mapram[16]; static RMap rmapram = { "physical memory", mapram, - &mapram[7], + &mapram[nelem(mapram)-1], }; static Map mapumb[64]; static RMap rmapumb = { "upper memory block", mapumb, - &mapumb[63], + &mapumb[nelem(mapumb)-1], }; -static Map mapumbrw[8]; +static Map mapumbrw[16]; static RMap rmapumbrw = { "UMB device memory", mapumbrw, - &mapumbrw[7], + &mapumbrw[nelem(mapumbrw)-1], }; void diff --git a/pc/mmu.c b/pc/mmu.c index 523c74d7b7065effb44845cad2967caf8d928192..10faab73889bec0f552a19a600a9ac12bd5537b7 100644 --- a/pc/mmu.c +++ b/pc/mmu.c @@ -335,7 +335,7 @@ mmukmap(ulong pa, ulong va, int size) */ x = PPN(*table); if(x != pa) - panic("mmukmap1: pa %ux entry %uX\n", + panic("mmukmap1: pa %uX entry %uX\n", pa, *table); x += 4*MB; if(pae <= x){ @@ -358,7 +358,7 @@ mmukmap(ulong pa, ulong va, int size) if(pte && *pte & PTEVALID){ x = PPN(*pte); if(x != pa) - panic("mmukmap2: pa %ux entry %uX\n", + panic("mmukmap2: pa %uX entry %uX\n", pa, *pte); pgsz = BY2PG; pa += pgsz; diff --git a/pc/pci.c b/pc/pci.c index 4e0032215121df9789715a5968eef51480bfe153..1a63e56d515dec1283189a32b7da51b60132ea02 100644 --- a/pc/pci.c +++ b/pc/pci.c @@ -395,7 +395,7 @@ pcimatch(Pcidev* prev, int vid, int did) else prev = prev->list; - while(prev != nil) { + while(prev != nil){ if(prev->vid == vid && (did == 0 || prev->did == did)) break; prev = prev->list; @@ -403,6 +403,21 @@ pcimatch(Pcidev* prev, int vid, int did) return prev; } +Pcidev* +pcimatchtbdf(int tbdf) +{ + Pcidev *pcidev; + + if(pcicfgmode == -1) + pcicfginit(); + + for(pcidev = pcilist; pcidev != nil; pcidev = pcidev->list){ + if(pcidev->tbdf == tbdf) + break; + } + return pcidev; +} + void pcihinv(Pcidev* p) {