Messages in this thread | | | From | nathan.zook@amd ... | Subject | RE: mmapping of page 0xfffff000 impossible ? | Date | Mon, 11 Oct 1999 15:12:16 -0500 |
| |
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/
| |