On Thursday 26 March 2009 5:29:42 pm Doug Ambrisko wrote: > Roman Divacky writes: > | On Thu, Mar 26, 2009 at 05:14:23PM +0000, Doug Ambrisko wrote: > | > Author: ambrisko > | > Date: Thu Mar 26 17:14:22 2009 > | > New Revision: 190445 > | > URL: http://svn.freebsd.org/changeset/base/190445 > | > > | > Log: > | > Add stuff to support upcoming BMC/IPMI flashing of newer Dell machine > | > via the Linux tool. > | > - Add Linux shim to ipmi(4) > | > - Create a partitions file to linprocfs to make Linux fdisk see > | > disks. This file is dynamic so we can see disks come and go. > | > - Convert msdosfs to vfat in mtab since Linux uses that for > | > msdosfs. > | > - In the Linux mount path convert vfat passed in to msdosfs > | > so Linux mount works on FreeBSD. Note that tasting works > | > so that if da0 is a msdos file system > | > /compat/linux/bin/mount /dev/da0 /mnt > | > works. > | > - fix a 64it bug for l_off_t. > | > Grabing sh, mount, fdisk, df from Linux, creating a symlink of mtab to > | > /compat/linux/etc/mtab and then some careful unpacking of the Linux bmc > | > update tool and hacking makes it work on newer Dell boxes. Note, probably > | > if you can't figure out how to do this, then you probably shouldn't be > | > doing it :-) > | > > | > Added: > | > head/sys/dev/ipmi/ipmi_linux.c (contents, props changed) > | > Modified: > | > head/sys/amd64/linux32/linux.h > | > head/sys/compat/linprocfs/linprocfs.c > | > head/sys/compat/linux/linux_file.c > | > head/sys/conf/files.amd64 > | > head/sys/conf/files.i386 > | > head/sys/modules/ipmi/Makefile > | > head/sys/modules/linprocfs/Makefile > | > > | > Modified: head/sys/amd64/linux32/linux.h > | > ============================================================================== > | > --- head/sys/amd64/linux32/linux.h Thu Mar 26 17:04:08 2009 > (r190444) > | > +++ head/sys/amd64/linux32/linux.h Thu Mar 26 17:14:22 2009 > (r190445) > | > @@ -79,7 +79,7 @@ typedef l_ulong l_ino_t; > | > typedef l_int l_key_t; > | > typedef l_longlong l_loff_t; > | > typedef l_ushort l_mode_t; > | > -typedef l_long l_off_t; > | > +typedef l_ulong l_off_t; > | > | where did you get this idea? my copy of linux 2.6.16 shows that off_t > | is being declared as long. can you be more specific about the background > | of this change? what does it fix? > > Maybe you have another suggestion to fix this. The problem showed up > when doing a mmap of 0xcf79c000 into 0xffffffffcf79c000 also a mmap > of 0xf0000 ended up the same way. This caused it to fail. Note this > is only on amd64 with a Linux. It didn't happen with a FreeBSD i386 > version on amd64. Here is a sample test program:
I'm sure this can be easily fixed in the Linux mmap() handlers instead. Do you know if your Linux binary is using mmap2() or the old mmap()? -- John Baldwin _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"