cd ../arch/i386/kernel
gcc -D__KERNEL__ -I/usr/src/linux-2.4.7-hr/include -Wall
-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-strict-aliasing -fno-common -pipe -march=i586 -c -o i8259.o
i8259.c -E
(note the -E, the rest of the line is just cut from the make output, I
usually make from a shell in emacs so all this output is available...
If you are cutting this line from this message, make sure you change the
-I path to match your kernel location.)
now exit i8259.c and search for your new number, i.e. 118820. (Or if
that fails search for "init_IRQ" and look at the outb_p in there.) For
the old 1192180 I find:
outb_p(0x34,0x43);
outb_p(((1193180 + 100 /2) / 100 ) & 0xff , 0x40);
outb(((1193180 + 100 /2) / 100 ) >> 8 , 0x40);
Seems like the new number should do just what you need here. The
calibration in time.c is a little wonky, but that will not give the
errors you are seeing, nor would your change of LATCH (I assume this is
what you changed in i8259.c) affect that wonky stuff.
Oh, by the way, you will want to purge i8259.o as make will assume it is
up to date and try to merge it as a *.o file, which will fail rather
badly.
George
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/