* Re: [9fans] Standalone cpu/auth..
@ 2002-05-16 1:11 David Gordon Hogan
2002-05-16 13:06 ` Ish Rattan
2002-05-16 13:07 ` Ish Rattan
0 siblings, 2 replies; 10+ messages in thread
From: David Gordon Hogan @ 2002-05-16 1:11 UTC (permalink / raw)
To: 9fans
> I just tried the cpu/auth standalone on a dual PIII with Intel
> server mother board. At boot time, i see the message..
> .....
> pcirouting: South bridge FFFF, FFFF not found
> .....
> pcirouting: Can't find south bridge PCI 255.37.7
The first message is ``impossible''. I'd love to know
why it's happening. The second one is just improbable.
What does the "pci" command report? Also, here is
a program for dumping the contents of the BIOS PCI
routing table, please save it as "pcir.c", compile and
run, then send me the output:
#include <u.h>
#include <libc.h>
typedef struct Router Router;
typedef struct Slot Slot;
struct Slot
{
uchar bus; // Pci bus number
uchar dev; // Pci device number
uchar maps[12]; // Avoid structs! Link and mask.
uchar slot; // Add-in/built-in slot
uchar reserved;
};
struct Router
{
uchar signature[4]; // Routing table signature
uchar version[2]; // Version number
uchar size[2]; // Total table size
uchar bus; // Interrupt router bus number
uchar devfn; // Router's devfunc
uchar pciirqs[2]; // Exclusive PCI irqs
uchar compat[4]; // Compatible PCI interrupt router
uchar miniport[4]; // Miniport data
uchar reserved[11];
uchar checksum;
};
#define GET2(p) ((p)[0]|((p)[1]<<8))
#define DEV(devfn) (devfn>>3)
#define FN(devfn) (devfn&7)
void
main(int argc, char *argv[])
{
Slot *e;
Router *r;
int fd, size, i;
char file[64];
uchar *buf, *p, *ep, *m;
USED(argc, argv);
snprint(file, sizeof file, "#p/%d/mem", getpid());
fd = open(file, OREAD);
if(fd < 0)
sysfatal("open proc mem");
if(seek(fd, 0x80000000|0xf0000, 0) < 0)
sysfatal("seek proc mem");
buf = malloc(0x10000);
if(read(fd, buf, 0x10000) != 0x10000)
sysfatal("read proc mem");
ep = buf+0x10000;
for(p = buf; p < ep; p += 16)
if(p[0] == '$' && p[1] == 'P' && p[2] == 'I' && p[3] == 'R')
break;
if(p == ep) {
fprint(2, "pcir: PCI routing table not found\n");
exits("not found");
}
r = (Router *)p;
print("PCI interrupt routing table version %d.%d at %.5ux\n",
r->version[1], r->version[0], p-buf+0xf0000);
print("South Bridge %d.%d.%d, irqs %.4uX compat %.4uX/%.4uX\n",
r->bus, DEV(r->devfn), FN(r->devfn), GET2(r->pciirqs),
GET2(&r->compat[0]), GET2(&r->compat[2]));
print("miniport data: %.2uX %.2uX %.2uX %.2uX\n",
r->miniport[0], r->miniport[1], r->miniport[2], r->miniport[3]);
size = GET2(r->size);
for(e = (Slot *)&r[1]; (uchar *)e < p + size; e++) {
print("%d.%d.%d %.2uX:\t", e->bus, DEV(e->dev), FN(e->dev), e->slot);
for(i = 0; i != 4; i++) {
m = &e->maps[i * 3];
print("[%d] %.2uX %.4uX ", i, m[0], (m[2] << 8)|m[1]);
}
print("\n");
}
exits(nil);
}
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [9fans] Standalone cpu/auth..
2002-05-16 1:11 [9fans] Standalone cpu/auth David Gordon Hogan
@ 2002-05-16 13:06 ` Ish Rattan
2002-05-16 13:07 ` Ish Rattan
1 sibling, 0 replies; 10+ messages in thread
From: Ish Rattan @ 2002-05-16 13:06 UTC (permalink / raw)
To: 9fans
Here is the output of the program. BTW the motherboard in question is
Intel Server board SAI2 with 32-bit and 64-bit PCI slots with on board
NIC and video.
-ishwar
On Wed, 15 May 2002, David Gordon Hogan wrote:
> > I just tried the cpu/auth standalone on a dual PIII with Intel
> > server mother board. At boot time, i see the message..
> > .....
> > pcirouting: South bridge FFFF, FFFF not found
> > .....
> > pcirouting: Can't find south bridge PCI 255.37.7
>
> The first message is ``impossible''. I'd love to know
> why it's happening. The second one is just improbable.
> What does the "pci" command report? Also, here is
> a program for dumping the contents of the BIOS PCI
> routing table, please save it as "pcir.c", compile and
> run, then send me the output:
>
> #include <u.h>
> #include <libc.h>
>
> typedef struct Router Router;
> typedef struct Slot Slot;
>
> struct Slot
> {
> uchar bus; // Pci bus number
> uchar dev; // Pci device number
> uchar maps[12]; // Avoid structs! Link and mask.
> uchar slot; // Add-in/built-in slot
> uchar reserved;
> };
>
> struct Router
> {
> uchar signature[4]; // Routing table signature
> uchar version[2]; // Version number
> uchar size[2]; // Total table size
> uchar bus; // Interrupt router bus number
> uchar devfn; // Router's devfunc
> uchar pciirqs[2]; // Exclusive PCI irqs
> uchar compat[4]; // Compatible PCI interrupt router
> uchar miniport[4]; // Miniport data
> uchar reserved[11];
> uchar checksum;
> };
>
> #define GET2(p) ((p)[0]|((p)[1]<<8))
> #define DEV(devfn) (devfn>>3)
> #define FN(devfn) (devfn&7)
>
> void
> main(int argc, char *argv[])
> {
> Slot *e;
> Router *r;
> int fd, size, i;
> char file[64];
> uchar *buf, *p, *ep, *m;
>
> USED(argc, argv);
>
> snprint(file, sizeof file, "#p/%d/mem", getpid());
> fd = open(file, OREAD);
> if(fd < 0)
> sysfatal("open proc mem");
> if(seek(fd, 0x80000000|0xf0000, 0) < 0)
> sysfatal("seek proc mem");
>
> buf = malloc(0x10000);
> if(read(fd, buf, 0x10000) != 0x10000)
> sysfatal("read proc mem");
>
> ep = buf+0x10000;
> for(p = buf; p < ep; p += 16)
> if(p[0] == '$' && p[1] == 'P' && p[2] == 'I' && p[3] == 'R')
> break;
> if(p == ep) {
> fprint(2, "pcir: PCI routing table not found\n");
> exits("not found");
> }
>
> r = (Router *)p;
>
> print("PCI interrupt routing table version %d.%d at %.5ux\n",
> r->version[1], r->version[0], p-buf+0xf0000);
> print("South Bridge %d.%d.%d, irqs %.4uX compat %.4uX/%.4uX\n",
> r->bus, DEV(r->devfn), FN(r->devfn), GET2(r->pciirqs),
> GET2(&r->compat[0]), GET2(&r->compat[2]));
> print("miniport data: %.2uX %.2uX %.2uX %.2uX\n",
> r->miniport[0], r->miniport[1], r->miniport[2], r->miniport[3]);
> size = GET2(r->size);
> for(e = (Slot *)&r[1]; (uchar *)e < p + size; e++) {
> print("%d.%d.%d %.2uX:\t", e->bus, DEV(e->dev), FN(e->dev), e->slot);
> for(i = 0; i != 4; i++) {
> m = &e->maps[i * 3];
> print("[%d] %.2uX %.4uX ", i, m[0], (m[2] << 8)|m[1]);
> }
> print("\n");
> }
>
> exits(nil);
> }
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [9fans] Standalone cpu/auth..
2002-05-16 1:11 [9fans] Standalone cpu/auth David Gordon Hogan
2002-05-16 13:06 ` Ish Rattan
@ 2002-05-16 13:07 ` Ish Rattan
1 sibling, 0 replies; 10+ messages in thread
From: Ish Rattan @ 2002-05-16 13:07 UTC (permalink / raw)
To: 9fans
For got the program output :-|
---
PCI interrupt routing table version 1.0 at fdf10
South Bridge 255.31.7, irqs 0000 compat 0000/0000
miniport data: 00 00 00 00
0.0.0 00: [0] 00 DEF8 [1] 00 DEF8 [2] 00 DEF8 [3] 00 DEF8
0.6.0 01: [0] 1B 1EF8 [1] 1C 1EF8 [2] 1D 1EF8 [3] 1E 1EF8
0.7.0 02: [0] 18 1EF8 [1] 1C 1EF8 [2] 1D 1EF8 [3] 0A 1EF8
0.8.0 05: [0] 19 1EF8 [1] 1E 1EF8 [2] 1C 1EF8 [3] 1D 1EF8
0.9.0 06: [0] 1A 1EF8 [1] 1D 1EF8 [2] 1E 1EF8 [3] 1C 1EF8
0.3.0 00: [0] 13 1EF8 [1] 00 1EF8 [2] 00 1EF8 [3] 00 1EF8
0.2.0 00: [0] 14 1EF8 [1] 00 1EF8 [2] 00 1EF8 [3] 00 1EF8
1.0.0 00: [0] 00 DEF8 [1] 00 DEF8 [2] 00 DEF8 [3] 00 DEF8
1.10.0 03: [0] 15 1EF8 [1] 1C 1EF8 [2] 1D 1EF8 [3] 1E 1EF8
1.11.0 04: [0] 16 1EF8 [1] 1E 1EF8 [2] 1C 1EF8 [3] 1D 1EF8
0.15.0 00: [0] 02 DEF8 [1] 02 DEF8 [2] 02 DEF8 [3] 02 DEF8
---
On Wed, 15 May 2002, David Gordon Hogan wrote:
> > I just tried the cpu/auth standalone on a dual PIII with Intel
> > server mother board. At boot time, i see the message..
> > .....
> > pcirouting: South bridge FFFF, FFFF not found
> > .....
> > pcirouting: Can't find south bridge PCI 255.37.7
>
> The first message is ``impossible''. I'd love to know
> why it's happening. The second one is just improbable.
> What does the "pci" command report? Also, here is
> a program for dumping the contents of the BIOS PCI
> routing table, please save it as "pcir.c", compile and
> run, then send me the output:
>
> #include <u.h>
> #include <libc.h>
>
> typedef struct Router Router;
> typedef struct Slot Slot;
>
> struct Slot
> {
> uchar bus; // Pci bus number
> uchar dev; // Pci device number
> uchar maps[12]; // Avoid structs! Link and mask.
> uchar slot; // Add-in/built-in slot
> uchar reserved;
> };
>
> struct Router
> {
> uchar signature[4]; // Routing table signature
> uchar version[2]; // Version number
> uchar size[2]; // Total table size
> uchar bus; // Interrupt router bus number
> uchar devfn; // Router's devfunc
> uchar pciirqs[2]; // Exclusive PCI irqs
> uchar compat[4]; // Compatible PCI interrupt router
> uchar miniport[4]; // Miniport data
> uchar reserved[11];
> uchar checksum;
> };
>
> #define GET2(p) ((p)[0]|((p)[1]<<8))
> #define DEV(devfn) (devfn>>3)
> #define FN(devfn) (devfn&7)
>
> void
> main(int argc, char *argv[])
> {
> Slot *e;
> Router *r;
> int fd, size, i;
> char file[64];
> uchar *buf, *p, *ep, *m;
>
> USED(argc, argv);
>
> snprint(file, sizeof file, "#p/%d/mem", getpid());
> fd = open(file, OREAD);
> if(fd < 0)
> sysfatal("open proc mem");
> if(seek(fd, 0x80000000|0xf0000, 0) < 0)
> sysfatal("seek proc mem");
>
> buf = malloc(0x10000);
> if(read(fd, buf, 0x10000) != 0x10000)
> sysfatal("read proc mem");
>
> ep = buf+0x10000;
> for(p = buf; p < ep; p += 16)
> if(p[0] == '$' && p[1] == 'P' && p[2] == 'I' && p[3] == 'R')
> break;
> if(p == ep) {
> fprint(2, "pcir: PCI routing table not found\n");
> exits("not found");
> }
>
> r = (Router *)p;
>
> print("PCI interrupt routing table version %d.%d at %.5ux\n",
> r->version[1], r->version[0], p-buf+0xf0000);
> print("South Bridge %d.%d.%d, irqs %.4uX compat %.4uX/%.4uX\n",
> r->bus, DEV(r->devfn), FN(r->devfn), GET2(r->pciirqs),
> GET2(&r->compat[0]), GET2(&r->compat[2]));
> print("miniport data: %.2uX %.2uX %.2uX %.2uX\n",
> r->miniport[0], r->miniport[1], r->miniport[2], r->miniport[3]);
> size = GET2(r->size);
> for(e = (Slot *)&r[1]; (uchar *)e < p + size; e++) {
> print("%d.%d.%d %.2uX:\t", e->bus, DEV(e->dev), FN(e->dev), e->slot);
> for(i = 0; i != 4; i++) {
> m = &e->maps[i * 3];
> print("[%d] %.2uX %.4uX ", i, m[0], (m[2] << 8)|m[1]);
> }
> print("\n");
> }
>
> exits(nil);
> }
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* [9fans] Standalone cpu/auth..
@ 2002-05-17 21:48 Ish Rattan
0 siblings, 0 replies; 10+ messages in thread
From: Ish Rattan @ 2002-05-17 21:48 UTC (permalink / raw)
To: 9fans
I am seeing wren i/o errors and pahse errors..
Is there a max size limitation on /dev/sdC0/fs, I installed it
with a size close to 6Gb?
-ishwar
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [9fans] Standalone cpu/auth..
2002-05-16 19:26 David Gordon Hogan
@ 2002-05-16 19:34 ` Ish Rattan
0 siblings, 0 replies; 10+ messages in thread
From: Ish Rattan @ 2002-05-16 19:34 UTC (permalink / raw)
To: 9fans
On Thu, 16 May 2002, David Gordon Hogan wrote:
> > > I just tried the cpu/auth standalone on a dual PIII with Intel
> > > server mother board. At boot time, i see the message..
> > > .....
> > > pcirouting: South bridge FFFF, FFFF not found
> > > .....
> > > pcirouting: Can't find south bridge PCI 255.37.7
>
> I've just realized that the first message is coming out
> of 9load, which has an older version of pcirouting()!
Looks like it.
I have not tested it much but seems to be working ok.
-ishwar
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [9fans] Standalone cpu/auth..
@ 2002-05-16 19:26 David Gordon Hogan
2002-05-16 19:34 ` Ish Rattan
0 siblings, 1 reply; 10+ messages in thread
From: David Gordon Hogan @ 2002-05-16 19:26 UTC (permalink / raw)
To: 9fans
> > I just tried the cpu/auth standalone on a dual PIII with Intel
> > server mother board. At boot time, i see the message..
> > .....
> > pcirouting: South bridge FFFF, FFFF not found
> > .....
> > pcirouting: Can't find south bridge PCI 255.37.7
I've just realized that the first message is coming out
of 9load, which has an older version of pcirouting()!
It's generally safe to ignore these messages (assuming
that everything else is working ok). We'll add some
more sanity checking in a future version, which should
get rid of messages like the above.
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [9fans] Standalone cpu/auth..
2002-05-16 18:02 David Gordon Hogan
@ 2002-05-16 18:24 ` Ish Rattan
0 siblings, 0 replies; 10+ messages in thread
From: Ish Rattan @ 2002-05-16 18:24 UTC (permalink / raw)
To: 9fans
Ouput generated by pci command.
-ishwar
----
0.0.0: 06.00.00 1166/0009 0
0.0.1: 06.00.00 1166/0009 0
0.15.0: 06.01.00 1166/0201 0
0.15.1: 01.01.8a 1166/0212 0 0:000001f1 16 1:000003f5 16 2:00000171 16 3:00000375 16 4:00002441 16
0.15.2: 0c.03.10 1166/0220 9 0:fb002000 4096
0.15.3: 06.00.00 1166/0225 0
0.2.0: 03.00.00 1002/4752 255 0:fa000000 16777216 1:00002001 256 2:fb000000 4096
0.3.0: 02.00.00 8086/1229 11 0:fb001000 4096 1:00002401 64 2:fb100000 1048576
---
On Thu, 16 May 2002, David Gordon Hogan wrote:
> > For got the program output :-|
> >
> > ---
> > PCI interrupt routing table version 1.0 at fdf10
>
> Thanks. What does the "pci" command report?
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [9fans] Standalone cpu/auth..
@ 2002-05-16 18:02 David Gordon Hogan
2002-05-16 18:24 ` Ish Rattan
0 siblings, 1 reply; 10+ messages in thread
From: David Gordon Hogan @ 2002-05-16 18:02 UTC (permalink / raw)
To: 9fans
> For got the program output :-|
>
> ---
> PCI interrupt routing table version 1.0 at fdf10
Thanks. What does the "pci" command report?
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [9fans] Standalone cpu/auth..
@ 2002-05-16 1:21 rsc
0 siblings, 0 replies; 10+ messages in thread
From: rsc @ 2002-05-16 1:21 UTC (permalink / raw)
To: 9fans
the drawterm sessions should be slower,
since they are going through srvold9p rather
than plugging the network connection
into the kernel directly. it shouldn't be very
much slower, but perhaps a little. if you're
comparing drawterm-linux->3e vs ->4e,
i don't think you should see a big difference.
if you're comparing drawterm-linux->3e with
drawterm-windows->4e, you will see a big difference.
repeating yesterday's theme, the 4e drawterm sources
from windows now disable nagle's algorithm,
which makes an enormous difference.
replace /sys/src/cmd/unix/drawterm/devip-unix.c:/^so_socket
with this one and recompile. you should see a big
difference.
int
so_socket(int type)
{
int fd, one;
switch(type) {
default:
error("bad protocol type");
case S_TCP:
type = SOCK_STREAM;
break;
case S_UDP:
type = SOCK_DGRAM;
break;
}
fd = socket(AF_INET, type, 0);
if(fd < 0)
error(strerror(errno));
one = 1;
if(setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (char*)&one, sizeof(one)) > 0)
print("setsockopt: %s", sys_errlist[errno]);
return fd;
}
russ
^ permalink raw reply [flat|nested] 10+ messages in thread
* [9fans] Standalone cpu/auth..
@ 2002-05-16 0:55 Ish Rattan
0 siblings, 0 replies; 10+ messages in thread
From: Ish Rattan @ 2002-05-16 0:55 UTC (permalink / raw)
To: 9fans
I just tried the cpu/auth standalone on a dual PIII with Intel
server mother board. At boot time, i see the message..
.....
pcrouting: South bridge FFFF, FFFF not found
.....
pcirouting: Can't find south bridge PCI 255.37.7
.....
but does boot correctly.
Also, can Plan 9 handle 100Mb IOMEGA Zip drive (IDE/ATPI)?
Connecting from Linux with drwaterm, the session is slow (CPU
power does not seem to help) as comapred to 3rd version case.
-ishwar
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2002-05-17 21:48 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-05-16 1:11 [9fans] Standalone cpu/auth David Gordon Hogan
2002-05-16 13:06 ` Ish Rattan
2002-05-16 13:07 ` Ish Rattan
-- strict thread matches above, loose matches on Subject: below --
2002-05-17 21:48 Ish Rattan
2002-05-16 19:26 David Gordon Hogan
2002-05-16 19:34 ` Ish Rattan
2002-05-16 18:02 David Gordon Hogan
2002-05-16 18:24 ` Ish Rattan
2002-05-16 1:21 rsc
2002-05-16 0:55 Ish Rattan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).