mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Antonino Sergi <Antonino.Sergi@roma1.infn.it>
To: "Maciej W. Rozycki" <macro@linux-mips.org>
Cc: "Randy.Dunlap" <rddunlap@osdl.org>, linux-kernel@vger.kernel.org
Subject: Re: isa memory address
Date: Tue, 16 Nov 2004 17:22:19 +0100	[thread overview]
Message-ID: <1100622139.16321.217.camel@delphi.roma1.infn.it> (raw)
In-Reply-To: <Pine.LNX.4.58L.0411110329260.10663@blysk.ds.pg.gda.pl>

Hi,

I found a new problem: I was testing my driver on a P233MMX with
2.6.5 i586 compiled without any trouble. When I moved to a PIII500
with the 2.6.9 i686 compiled I got kernel oops because the IOaddresss
(0xd0000) was remapped to 0x20d0000 and
"Unable to handle kernel paging request at virtual address fef66c58"
I think it is something related to 4GB memory kernel config parameter

Because of some hurry I tried the other kernel (2.6.9 i586 compiled)
and this problem disappeared (IOaddresss 0xd0000 remapped to
0xc00d0000), but it seems that the requested memory area is not
protected anymore by foreign access, in fact:
-on both machines, if the kernel module is not loaded, I can see, on
hard disk activity, a blinking LED on the data acquisition system,
notifying some access to the device
-on P233MMX and NOT on PIII500, once the module is loaded, these
accidental accesses are actually forbidden. This produces, on PIII500,
fake data

Is there any remarkable difference in resource reservation between these
two kernels or it is due to some hardware difference? I tried to look at
include/linux/ioport.h and kernel/resource.c but I could not notice any
difference.

Thank you

Antonino Sergi

On Thu, 2004-11-11 at 04:54, Maciej W. Rozycki wrote:
> On Wed, 10 Nov 2004, Antonino Sergi wrote:
> 
> > >  Because you are trying to use the region in the I/O port space.  That's
> > > probably not what you want to do and an 8-bit ISA board cannot decode it
> > > at all anyway.  Actually for some platforms using the I/O space outside
> > > the low 16-bit range may be quite difficult even for buses and devices
> > > that support it and Linux does not support it then, either.  So Linux 
> > > correctly informs you you cannot use that range.
> > 
> > This is actually not clear for me.
> 
>  The port I/O space range differs among platforms.  You get -EBUSY in a
> response to a request for a range of ports outside the supported range.
> 
> > >  ... or better yet request_mem_region()/release_resource(), as the former 
> > > is deprecated and will be removed.
> > 
> > I tried but (on 2.4.2):
> > - request_region fails but, ignoring it and remapping physical address
> > to virtual, everything works fine, except for release_region, of course.
> > - request_mem_region works but what I get from communication with the
> > actual device are numbers that sometimes are surely wrong.
> 
>  As both request_region() and request_mem_region() merely reserve
> different resources in Linux structures, you can't get a different
> behavior from your device depending on which one you call, if any at all,
> unless you change code elsewhere at the same time.
> 
> > I couldn't understand what is the actual difference between
> > ioport_resource and iomem_resource to track the problem.
> 
>  The former holds I/O resources mapped in the port space, whilst the
> latter holds ones mapped in the memory space.  The spaces use different
> cycles each at the bus the destined device is located on.
> 
>   Maciej


  parent reply	other threads:[~2004-11-16 16:23 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-08  8:14 Antonino Sergi
2004-11-08 16:46 ` Randy.Dunlap
2004-11-09  5:46   ` Antonino Sergi
2004-11-09 15:42   ` Antonino Sergi
2004-11-09 16:56     ` Maciej W. Rozycki
2004-11-10  9:37       ` Antonino Sergi
2004-11-11  3:54         ` Maciej W. Rozycki
2004-11-12 17:10           ` Antonino Sergi
2004-11-16 16:22           ` Antonino Sergi [this message]
2004-11-17 15:00             ` Antonino Sergi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1100622139.16321.217.camel@delphi.roma1.infn.it \
    --to=antonino.sergi@roma1.infn.it \
    --cc=linux-kernel@vger.kernel.org \
    --cc=macro@linux-mips.org \
    --cc=rddunlap@osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®