Console is working. Fully tested. Post card... There are no PCI/ISA slots on this board, all I have is 1 pc/104 slot and no jtag. The superIO is controled by a via vt1211. I think I have that part of my config correct. (see below) But I am not sure how to figure out the pnp address. -Adam
chip superio/via/vt1211 device pnp 2e.2 on # Com1 io 0x60 = 0x3f8 irq 0x70 = 4 end
Adam Talbot wrote:
-Ron Well, I just got my code compiling. But I have nothing on the console. What settings/files would you advise I check. Serial debug is set at 9, but I am seeing nothing. Ideas?
First step: boot fuctory bios and make sure minicom works for you. Check settings on the chips under fuctory bios.
do you have a post card?
Beep won't work, I think, since no VSA in there yet.
do you have a POST card?
ron
pc/104 slot and no jtag. The superIO is controled by a via vt1211. I think I have that part of my config correct. (see below) But I am not sure how to figure out the pnp address.
Normally the superIO will have the address set in hardware by a pin strapping. Get the datasheet on the superIO and look at the options. Then verify by some simple IO testing to the data register. You should be able to write a value to the data register and then read it back.
-- Richard A. Smith
Adam Talbot wrote:
Console is working. Fully tested. Post card... There are no PCI/ISA slots on this board, all I have is 1 pc/104 slot and no jtag. The superIO is controled by a via vt1211. I think I have that part of my config correct. (see below) But I am not sure how to figure out the pnp address. -Adam
chip superio/via/vt1211 device pnp 2e.2 on # Com1 io 0x60 = 0x3f8 irq 0x70 = 4 end
Adam Talbot wrote:
as richard says:
main(){ iopl(3);
inb(0x2e);
/* and print that out, see if it is 0xff */ inb(0x4e); // or whatever
}
in other words, from a c program, just try to recreate what linuxbios does for I/o to superio, and see what works.
ron
I am missing an inclue or define statment...
3_5_proto#gcc test.c /tmp/ccwX6c0l.o: In function `main': test.c:(.text+0x24): undefined reference to `inb' test.c:(.text+0x30): undefined reference to `inb' collect2: ld returned 1 exit status
Ronald G Minnich wrote:
Adam Talbot wrote:
Console is working. Fully tested. Post card... There are no PCI/ISA slots on this board, all I have is 1 pc/104 slot and no jtag. The superIO is controled by a via vt1211. I think I have that part of my config correct. (see below) But I am not sure how to figure out the pnp address. -Adam
chip superio/via/vt1211 device pnp 2e.2 on # Com1 io 0x60 = 0x3f8 irq 0x70 = 4 end
Adam Talbot wrote:
as richard says:
main(){ iopl(3);
inb(0x2e); /* and print that out, see if it is 0xff */ inb(0x4e); // or whatever
}
in other words, from a c program, just try to recreate what linuxbios does for I/o to superio, and see what works.
ron
Adam Talbot wrote:
I am missing an inclue or define statment...
oh, that code I sent is crap.
I did not know you wanted the full thing.
#include <stdio.h> #include <asm/io.h>
main(){ uchar c;
c = inb(0x2e); printf("c %02x\n", c); }
be sure to cc -O2 or the damned asm junk won't get inlined, and you'll get link-time errors.
ron
-Ron Just a guess. uchar = unsigned char??? -Adam
Ronald G Minnich wrote:
Adam Talbot wrote:
I am missing an inclue or define statment...
oh, that code I sent is crap.
I did not know you wanted the full thing.
#include <stdio.h> #include <asm/io.h>
main(){ uchar c;
c = inb(0x2e); printf("c %02x\n", c);
}
be sure to cc -O2 or the damned asm junk won't get inlined, and you'll get link-time errors.
ron
-Ron Little bug fix's and its working # ./a.out c ff
#include <stdio.h> #include <asm/io.h>
main(){ unsigned char c; ioperm(0x2E, 1, 1);
c = inb(0x2e); printf("c %02x\n", c); } -Adam
Adam Talbot wrote:
-Ron Just a guess. uchar = unsigned char??? -Adam
Ronald G Minnich wrote:
Adam Talbot wrote:
I am missing an inclue or define statment...
oh, that code I sent is crap.
I did not know you wanted the full thing.
#include <stdio.h> #include <asm/io.h>
main(){ uchar c;
c = inb(0x2e); printf("c %02x\n", c); }
be sure to cc -O2 or the damned asm junk won't get inlined, and you'll get link-time errors.
ron
Adam Talbot wrote:
-Ron Little bug fix's and its working # ./a.out c ff
#include <stdio.h> #include <asm/io.h>
main(){ unsigned char c; ioperm(0x2E, 1, 1);
warning to all: iopl(3) is safer since on some arch's (most recently x86_64) ioperm won't do the right thing. just fyi.
ron
On 1/23/06, Adam Talbot talbotx@comcast.net wrote:
I am missing an inclue or define statment...
3_5_proto#gcc test.c /tmp/ccwX6c0l.o: In function `main': test.c:(.text+0x24): undefined reference to `inb' test.c:(.text+0x30): undefined reference to `inb' collect2: ld returned 1 exit status
#include <sys/io.h>
You also have to compile with -O or -O2 otherwise you will get link errors. IO is implemented as macros and they don't get linked in unless optimizations are turned on.
-- Richard A. Smith