On Sat, Jan 17, 2004 at 07:31:59PM +0100, Geert Uytterhoeven wrote: > On Fri, 16 Jan 2004, Lance Tagliapietra wrote: > > Now that I am up and compiling my own kernel, I have observed something > > interesting and was wondering if anyone here had seen it before. > > > > It seems that the configuration item CONFIG_ISA is required to compile > > the kernel for the Amiga (I have not tried the other sub archs). If > > that item is not set, the kernel compile will get all the way to the > > link with the outp_b(), inb() and inb_p() not defined as described in > > the quoted email message. > > In which driver does it complain about the missing outb_p() and friends?
It happens in the driveres/block/block.o as described in the quoted text below. Ignore the first two lines about `access_process_vm' and `is_dumpable' and consider the remaining lines. The function floppy_hardint() is what is complaining about, but I traced the outb_p() back to /include/asm_68k/io.h as I described below. A grep of the source tree shows that floppy_hardint is referenced in /arch/m68k/kernel/entry.S /include/asm-m68k/floppy.h in the m68k files. The floppy_hardint() function does use these calls. > > > It seems that the only way to get CONFIG_ISA set is to bring in the > > A1200 PCMCIA support. I tried to delete this support, as my A2000 does > > not have a PCMCIA, so I thought I could delete support and save RAM. It > > seems that outp_b(), inb() and inb_p() are defined in > > include/asm-m68k/io.h but only if a specific set of configuration > > options are set up, which includes CONFIG_ISA. > > Indeed, the only way to have some form of ISA on the Amiga is Gayle PCMCIA (or > a Golden Gate 2 ISA bridge, but this support isn't integrated yet). > > > Interestingly, when I run 'make config' I do not get a prompt for the > > CONFIG_ISA. > > Yep, because it depends on Gayle PCMCIA support. I see that CONFIG_AMIGA_PCMCIA is set in the 2.4.20 Debian release binary config which brings in this support then. > > > Is this correct behavior, or am I missing something. This is with the > > 2.4.20 kernel file set and the m68k patches. > > > > > kernel/kernel.o: In function `access_process_vm': > > > > kernel/kernel.o(.text+0x833c): undefined reference to `is_dumpable' > > > > drivers/block/block.o: In function `floppy_hardint': > > > > drivers/block/block.o(.text+0x268a): undefined reference to `inb' > > > > drivers/block/block.o(.text+0x26ae): undefined reference to `outb_p' > > > > drivers/block/block.o(.text+0x26c6): undefined reference to `inb_p' > > > > make: *** [vmlinux] Error 1 > > > > > > floppy_hardint() is a routine from the PC-style floppy driver. Probably > > > it was > > > enabled before you copied Config.amiga. > > Do you still have CONFIG_FLOPPY enabled? That's the PC style floppy. Please > disable it when building an Amiga-only kernel, since it won't work. No, CONFIG_FLOPPY is not set in my .config. It is not set in the 2.4.20 Debian release binary Config-2.4.20 either. I do have CONFIG_AMIGA_FLOPPY enabled though, which is also enabled in the Debian 2.4.20 release config. > > You only want to enable CONFIG_FLOPPY on m68k if you're building a kernel for > Q40/Q60 or Sun-3x. I did not know that. Thanks. --Lance > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [EMAIL PROTECTED] > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like > that. > -- Linus Torvalds