~kris/9p

9hist

4c3ee005d5d6e1d849e959d4418d715b6f44a96c — David du Colombier 28 years ago bd97cea
Plan 9 from Bell Labs 1998-09-06
4 files changed, 31 insertions(+), 16 deletions(-)

M pc/archgeneric.c
M pc/memory.c
M pc/mmu.c
M pc/pci.c
M pc/archgeneric.c => pc/archgeneric.c +4 -4
@@ 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 */
};

M pc/memory.c => pc/memory.c +9 -9
@@ 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

M pc/mmu.c => pc/mmu.c +2 -2
@@ 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;

M pc/pci.c => pc/pci.c +16 -1
@@ 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)
{