[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Compiling kernel 2.4.20 on m68k



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 -- geert@linux-m68k.org
> 
> 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



Reply to: