lkml.org 
[lkml]   [1999]   [Oct]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: mmapping of page 0xfffff000 impossible ?
Date
Now you're getting interesting.  As I divine it from the source, the kernel
only understands physical memory below -PAGE_OFFSET - ??? (I'm guessing
8M--see include/asm-i386/pgtable.h, comments above #define VMALLOC_OFFSET).
If I had to guess, I would guess that adding a fixmap entry might do the
trick--but I could be all wrong, I just posted a question about this. I'm
suggesting source to probe.

Nathan


> -----Original Message-----
> From: Harald Koenig [SMTP:koenig@tat.physik.uni-tuebingen.de]
> Sent: Monday, October 11, 1999 9:33 AM
> To: Zook, Nathan
> Cc: linux-kernel@vger.rutgers.edu;
> eich@hilbert.ikp.physik.tu-darmstadt.de
> Subject: Re: mmapping of page 0xfffff000 impossible ?
>
> On Oct 10, nathan.zook@amd.com wrote:
>
> > include/asm-i386/fixmap.h
> >
> >
> > "Leave one empty page between vmalloc'ed areas and the start of the
> fixmap,
> > and leave one page empty at the top of mem."
>
> this reads like that's (only?) a problem for last page in
> _virtual_ address space, isn't it ?
>
> I'm looking for a method to map/read the last _physical_ page
> (bus addresses, actually it's a graphics card's BIOS which got
> mapped just below 4GB by main board's PCI BIOS configuration).
>
> do these "compile-time 'special' virtual addresses" limitations
> apply to bus addresses too ?
>
> >
> > I would guess that you can't map the fixmap, either.
> >
> >
> > Nathan
> >
> >
> > > -----Original Message-----
> > > From: root [SMTP:koenig@tat.physik.uni-tuebingen.de]
> > > Sent: Sunday, October 10, 1999 9:53 PM
> > > To: linux-kernel-list
> > > Cc: Egbert Eich
> > > Subject: mmapping of page 0xfffff000 impossible ?
> > >
> > > why isn't it possible to mmap the very last page in 32bit address
> space ?
> > >
> > > strace output for 2.2.12 of the small sample program below:
> > > open("/dev/mem", O_RDWR) = 3
> > > mmap(NULL, 61440, PROT_READ, MAP_SHARED, 3, 0xffff0000) = 0x4011b000
> > > mmap(NULL, 61441, PROT_READ, MAP_SHARED, 3, 0xffff0000) = -1 EINVAL
> > > (Invalid argument)
> > >
> > >
> --------------------------------------------------------------------------
> > > -----
> > > #include <unistd.h>
> > > #include <sys/mman.h>
> > > #include <fcntl.h>
> > > main()
> > > {
> > > int f;
> > > void *p;
> > >
> > > f = open("/dev/mem", O_RDWR);
> > >
> > > /* this will work ... */
> > > p = mmap(NULL, 0xf000, PROT_READ, MAP_SHARED, f, 0xffff0000);
> > >
> > > /* this one won't :-( */
> > > p = mmap(NULL, 0xf001, PROT_READ, MAP_SHARED, f, 0xffff0000);
> > > }
> > >
> --------------------------------------------------------------------------
> > > -----
> > >
> > >
> > > -
> > > To unsubscribe from this list: send the line "unsubscribe
> linux-kernel" in
> > > the body of a message to majordomo@vger.rutgers.edu
> > > Please read the FAQ at http://www.tux.org/lkml/
>
> Harald
> --
> All SCSI disks will from now on ___ _____
> be required to send an email notice 0--,| /OOOOOOO\
> 24 hours prior to complete hardware failure! <_/ / /OOOOOOOOOOO\
> \ \/OOOOOOOOOOOOOOO\
> \
> OOOOOOOOOOOOOOOOO|//
> Harald Koenig, \/\/\/\/\/\/\/\/\/
> Inst.f.Theoret.Astrophysik // / \\ \
> koenig@tat.physik.uni-tuebingen.de ^^^^^ ^^^^^

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:54    [W:0.499 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site