You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(13) |
Sep
(42) |
Oct
(17) |
Nov
(7) |
Dec
(14) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
(14) |
Feb
(8) |
Mar
(13) |
Apr
(10) |
May
(28) |
Jun
(28) |
Jul
(23) |
Aug
(7) |
Sep
(2) |
Oct
(24) |
Nov
(9) |
Dec
(2) |
2002 |
Jan
(58) |
Feb
(15) |
Mar
(57) |
Apr
(26) |
May
(7) |
Jun
|
Jul
(10) |
Aug
|
Sep
(19) |
Oct
(9) |
Nov
(6) |
Dec
(4) |
2003 |
Jan
(4) |
Feb
(1) |
Mar
(3) |
Apr
(5) |
May
(14) |
Jun
(3) |
Jul
(7) |
Aug
(4) |
Sep
(7) |
Oct
(4) |
Nov
(11) |
Dec
(3) |
2004 |
Jan
(32) |
Feb
(21) |
Mar
(3) |
Apr
(11) |
May
(33) |
Jun
(42) |
Jul
(46) |
Aug
(2) |
Sep
(3) |
Oct
|
Nov
(42) |
Dec
(23) |
2005 |
Jan
(5) |
Feb
(2) |
Mar
(12) |
Apr
(26) |
May
(8) |
Jun
(18) |
Jul
(21) |
Aug
(3) |
Sep
|
Oct
(1) |
Nov
(10) |
Dec
(1) |
2006 |
Jan
(17) |
Feb
(17) |
Mar
(3) |
Apr
(2) |
May
(2) |
Jun
(7) |
Jul
(6) |
Aug
(4) |
Sep
|
Oct
(3) |
Nov
(7) |
Dec
(4) |
2007 |
Jan
(6) |
Feb
(4) |
Mar
|
Apr
(3) |
May
(7) |
Jun
(17) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(2) |
Dec
(5) |
2008 |
Jan
(14) |
Feb
(2) |
Mar
(2) |
Apr
|
May
(1) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2009 |
Jan
(2) |
Feb
(22) |
Mar
(3) |
Apr
|
May
(7) |
Jun
|
Jul
|
Aug
(15) |
Sep
|
Oct
(32) |
Nov
(9) |
Dec
|
2010 |
Jan
(18) |
Feb
(2) |
Mar
(14) |
Apr
(1) |
May
|
Jun
|
Jul
(2) |
Aug
(7) |
Sep
(6) |
Oct
(35) |
Nov
(4) |
Dec
|
2011 |
Jan
(4) |
Feb
|
Mar
(9) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
|
Sep
(9) |
Oct
|
Nov
|
Dec
(4) |
2012 |
Jan
(4) |
Feb
|
Mar
(8) |
Apr
(9) |
May
|
Jun
(176) |
Jul
(86) |
Aug
(20) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
(4) |
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(1) |
2016 |
Jan
(1) |
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(4) |
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(6) |
Aug
(13) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(11) |
Aug
|
Sep
(5) |
Oct
(2) |
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
From: Alexander v. G. <kal...@un...> - 2012-06-28 12:41:59
|
Good morning, I've actually got SheepShear compiling and running on 10.6 (minus jit) http://pub.haikungfu.net/SheepShear-OSX.png The trick is using an older Xcode (4.0.x) *or* using this: https://github.com/kennethreitz/osx-gcc-installer Right now i'm trying to figure out a build system outside of Xcode for SheepShear on OS X as I *HATE* how messy Xcode is. (to get the result above, I just used the autoconf stuff in src/Unix. https://github.com/kallisti5/sheepshear/issues/11 Thanks! --Alex On 27.06.2012 20:04, C.W. Betts wrote: > If you are planning on using TCG from Qemu, you will have to use the TCG > interpreter because otherwise clang will > fail due to a global register variable. At least on the i386 code. > ... > On further testing, it works fine on the PowerPC code; you don't need to > use the TCG interpreter, just the regular > TCG will work fine. > On Jun 18, 2012, at 10:18 PM, Gwenole Beauchesne wrote: > >> Hi, >> >> Le 19 juin 2012 à 02:27, Frank Trampe a écrit : >> >>> Given the high level of interest in improving SheepShaver, it seems like >>> it might be good to get it to the point at which it compiles on newer >>> versions of Mac O.S., which probably means getting the code to compile in >>> clang-llvm. >> >> The JIT based on dyngen needs to be built with GCC. You can select the >> GCC compiler to be used, see DYNGEN_CC variable. >> >> Here are the solutions for the PPC emulator, in increasing order of >> complexity to implement: >> >> 1. Always use GCC as it is intended, and set DYNGEN_CC accordingly. >> 2. Ship with pre-compiled ELF binaries and regenerate synthetic opcodes >> from that, or ship with pre-generated .{h,cpp} files that implement the >> opcodes for the supported target architectures (x86, x86_64, etc.) >> 3. Rework the JIT: migrate to TCG but VMX emulation performance will >> suffer, migrate to a full-blown DBT engine >> >> I'd like to keep the dyngen-based generator for now as it would allow for >> easy update for AVX1/AVX2 support. At some point, I was also working on a >> mix of dyngen + something similar to what was implemented for QEMU (TCG). >> >> Regards, >> Gwenole. >> >> ------------------------------------------------------------------------------ >> Live Security Virtual Conference >> Exclusive live event will cover all the ways today's security and >> threat landscape has changed and how IT managers can respond. Discussions >> will include endpoint security, mobile security and the latest in malware >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ >> _______________________________________________ >> basilisk-devel mailing list >> bas...@li... >> https://lists.sourceforge.net/lists/listinfo/basilisk-devel >> > > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > basilisk-devel mailing list > bas...@li... > https://lists.sourceforge.net/lists/listinfo/basilisk-devel |
From: Charles S. <bas...@ch...> - 2012-06-28 01:13:40
|
I actually got past that point since I wrote that, and I’ve incidentally managed to get SheepShaver to compile on Lion in a form that would run, although via a decidedly kludgey method. I was going to post on the list, but haven’t gotten around to it; sorry about that. Here’s what I've found: 1. As you surmised, the shmat problem is related to the pagezero test not working, which is indeed caused by changes in Lion. I was able to work around this by adding -mmacosx-version-min=10.6 to CFLAGS, CXXFLAGS, and LDFLAGS. 2. With the default settings you get from configure, dyngen will choke on a bunch of extra symbols from functions that are supposed to be inlined. This is fixed by adding -O2 to the flags; easy enough. 3. MacPorts contains port files for the latest stable version of GCC (gcc47), as well as the last version of GCC that Apple shipped with Xcode (apple-gcc42), so there’s no need to have an old version of the Apple dev tools around. However, each has its own problems: 3a. Vanilla gcc47 doesn’t have Apple’s non-standard blocks implementation, so all the code that imports, for example, <Foundation/Foundation.h> will choke on all the ^ characters. The workaround for this is to either create your own hacked Frameworks folder with the block-using APIs removed from the headers or to pull the Mac OS X 10.5 SDK from an earlier version of Xcode (as blocks weren’t introduced until 10.6), and then add '-iframework /path/to/my/Frameworks’ to CFLAGS and CXXFLAGS. 3b. Applying all the above results in a binary that compiles, and gets past the shmat stuff, but then spits out an "Invalid thread_state flavor = 0. Not forwarding” and promptly crashes. I never was able to figure out what was causing this. 4. Using apple-gcc42 from MacPorts solves the above problems, but it introduces a wrinkle of its own: api::__cxa_demangle doesn’t work, failing every time with status -2, even if the symbol name is valid, for no reason I can discover, which causes dyngen to choke with a bunch of “unexpected external symbol _ZL11foov” type errors. Libiberty’s demangling doesn’t seem to work either. This, also, I haven’t been able to figure out. I kludged it into working by doing the follows: 1. I made a quick-and-dirty demangle app which takes a symbol name on the command line and outputs the demangled name. I compiled this with vanilla gcc 4.7 and put it in /usr/local/bin. 2. I hacked src/kpx_cpu/src/cpu/jit/cxxdemangle.cpp so that it would fork/exec my demangle tool and use the output from that instead of trying to call api::__cxa_demangle itself. 3. I compiled the rest of the project using these settings: CC=/opt/local/bin/gcc-apple-4.2; export CC CPP="$CC -E"; export CPP CXX=/opt/local/bin/g++-apple-4.2; export CXX CFLAGS="-O2 -mmacosx-version-min=10.6"; export CFLAGS CXXFLAGS=$CFLAGS; export CXXFLAGS LDFLAGS="-mmacosx-version-min=10.6"; export LDFLAGS NO_CONFIGURE=1 ACLOCAL_FLAGS="-I m4" ./autogen.sh ./configure --enable-sdl-framework --enable-sdl-audio --enable-sdl-video --disable-vosf make What do you know, it compiles, and it works. Not the most convenient thing in the world, but better than nothing. Charles On Jun 27, 2012, at 7:30 PM, C.W. Betts wrote: > I think it chokes on another point of code, not the registers. Some type of cast, IIRC. > > I don't know if this is relevant, but Lion's linker does position independent executable which I think messes up the pagezero test (when running configure, the pagezero test app crashes.) > On Jun 18, 2012, at 10:55 PM, Charles Srstka wrote: > >> On Jun 18, 2012, at 11:18 PM, Gwenole Beauchesne wrote: >> >>> The JIT based on dyngen needs to be built with GCC. You can select the GCC compiler to be used, see DYNGEN_CC variable. >> >> Unfortunately, the latest version of the dev tools no longer includes GCC. It does have LLVM-GCC, which is the GCC interface on the LLVM back-end, and this chokes on the global registers, same as Clang. >> >> I’ve managed to get SheepShaver to compile using GCC 4.7 from MacPorts, but it’s currently quitting on launch — the shmat call at main_unix.cpp line 1172 is failing with ENOMEM. >> >> Charles >> >> ------------------------------------------------------------------------------ >> Live Security Virtual Conference >> Exclusive live event will cover all the ways today's security and >> threat landscape has changed and how IT managers can respond. Discussions >> will include endpoint security, mobile security and the latest in malware >> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ >> basilisk-devel mailing list >> bas...@li... >> https://lists.sourceforge.net/lists/listinfo/basilisk-devel > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > basilisk-devel mailing list > bas...@li... > https://lists.sourceforge.net/lists/listinfo/basilisk-devel |
From: C.W. B. <com...@ho...> - 2012-06-28 01:04:38
|
If you are planning on using TCG from Qemu, you will have to use the TCG interpreter because otherwise clang will fail due to a global register variable. At least on the i386 code. ... On further testing, it works fine on the PowerPC code; you don't need to use the TCG interpreter, just the regular TCG will work fine. On Jun 18, 2012, at 10:18 PM, Gwenole Beauchesne wrote: > Hi, > > Le 19 juin 2012 à 02:27, Frank Trampe a écrit : > >> Given the high level of interest in improving SheepShaver, it seems like it might be good to get it to the point at which it compiles on newer versions of Mac O.S., which probably means getting the code to compile in clang-llvm. > > The JIT based on dyngen needs to be built with GCC. You can select the GCC compiler to be used, see DYNGEN_CC variable. > > Here are the solutions for the PPC emulator, in increasing order of complexity to implement: > > 1. Always use GCC as it is intended, and set DYNGEN_CC accordingly. > 2. Ship with pre-compiled ELF binaries and regenerate synthetic opcodes from that, or ship with pre-generated .{h,cpp} files that implement the opcodes for the supported target architectures (x86, x86_64, etc.) > 3. Rework the JIT: migrate to TCG but VMX emulation performance will suffer, migrate to a full-blown DBT engine > > I'd like to keep the dyngen-based generator for now as it would allow for easy update for AVX1/AVX2 support. At some point, I was also working on a mix of dyngen + something similar to what was implemented for QEMU (TCG). > > Regards, > Gwenole. > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > basilisk-devel mailing list > bas...@li... > https://lists.sourceforge.net/lists/listinfo/basilisk-devel > |
From: C.W. B. <com...@ho...> - 2012-06-28 00:30:13
|
I think it chokes on another point of code, not the registers. Some type of cast, IIRC. I don't know if this is relevant, but Lion's linker does position independent executable which I think messes up the pagezero test (when running configure, the pagezero test app crashes.) On Jun 18, 2012, at 10:55 PM, Charles Srstka wrote: > On Jun 18, 2012, at 11:18 PM, Gwenole Beauchesne wrote: > >> The JIT based on dyngen needs to be built with GCC. You can select the GCC compiler to be used, see DYNGEN_CC variable. > > Unfortunately, the latest version of the dev tools no longer includes GCC. It does have LLVM-GCC, which is the GCC interface on the LLVM back-end, and this chokes on the global registers, same as Clang. > > I’ve managed to get SheepShaver to compile using GCC 4.7 from MacPorts, but it’s currently quitting on launch — the shmat call at main_unix.cpp line 1172 is failing with ENOMEM. > > Charles > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/_______________________________________________ > basilisk-devel mailing list > bas...@li... > https://lists.sourceforge.net/lists/listinfo/basilisk-devel |
From: Dave V. <va...@us...> - 2012-06-25 19:25:02
|
On Mon, Jun 25, 2012 at 1:39 PM, Charles Srstka <bas...@ch...> wrote: > They’re both equivalent; I believe that O_EXLOCK uses the advisory locks > under the hood. I believe you're right. > I would think that images becoming mounted while SheepShaver is running > would be less of a concern on other platforms which can’t normally mount Mac > volumes, though. Well, Linux can loop-mount HFS disk images, but locking probably won't help with that. What flock() gains us on non-Mac platforms is preventing multiple instances of B2/SS from mounting the same image. -V |
From: Charles S. <bas...@ch...> - 2012-06-25 17:39:21
|
On Jun 25, 2012, at 12:30 PM, Dave Vasilevsky wrote: > On Sun, Jun 24, 2012 at 3:46 PM, Charles Srstka > <bas...@ch...> wrote: >> You can do this >> by passing O_EXLOCK to the open() function. If you want open() to fail >> immediately if the file is already open instead of simply blocking until the >> file is available, then pass O_NONBLOCK as well. > > What's the advantage of this over the flock(2) advisory locks I > proposed? As far as I can tell they have the exact same behaviour on > Mac OS X, but flock() is cross-platform and will work on Linux and BSD > as well. > > -V They’re both equivalent; I believe that O_EXLOCK uses the advisory locks under the hood. I was thinking of a Mac-specific solution, since the posts I replied to were considered doing very Mac-specific IOKit things anyway. At the time I wrote that, your e-mail hadn’t posted to the list yet. I would think that images becoming mounted while SheepShaver is running would be less of a concern on other platforms which can’t normally mount Mac volumes, though. Charles |
From: Alexei S. <ale...@gm...> - 2012-06-25 17:34:15
|
On Mon, Jun 25, 2012 at 1:30 PM, Dave Vasilevsky <va...@us... > wrote: > What's the advantage of this over the flock(2) advisory locks I > proposed? As far as I can tell they have the exact same behaviour on > Mac OS X, but flock() is cross-platform and will work on Linux and BSD > as well. > Can other platforms actually mount disk images somehow outside of SheepShaver? -Alexei |
From: Dave V. <va...@us...> - 2012-06-25 17:31:22
|
On Sun, Jun 24, 2012 at 3:46 PM, Charles Srstka <bas...@ch...> wrote: > You can do this > by passing O_EXLOCK to the open() function. If you want open() to fail > immediately if the file is already open instead of simply blocking until the > file is available, then pass O_NONBLOCK as well. What's the advantage of this over the flock(2) advisory locks I proposed? As far as I can tell they have the exact same behaviour on Mac OS X, but flock() is cross-platform and will work on Linux and BSD as well. -V |
From: Alexei S. <ale...@gm...> - 2012-06-25 16:59:46
|
> > When I kill -9 the test app I made, subsequent attempts to mount the dmg > seem to work. > Thanks for your investigation. I've implemented the solution here: https://github.com/cebix/macemu/commit/58f4fa84259348029f50a97d84bd3b4492567645 -Alexei |
From: Charles S. <bas...@ch...> - 2012-06-25 16:42:42
|
On Jun 25, 2012, at 11:29 AM, Alexei Svitkine wrote: > On Sun, Jun 24, 2012 at 3:46 PM, Charles Srstka <bas...@ch...>wrote: > I just tested this on Snow Leopard and Lion, and it works. When you’ve got a disk image mounted, open(path, O_RDWR | O_EXLOCK | O_NONBLOCK) fails with EAGAIN. If I’ve got a disk image open with O_EXLOCK and then I try to mount it in the Finder, DiskImageMounter fails with “Resource temporarily unavailable”. So this should do what you want without having to monkey with permanent metadata bits on the file. > > Cool! Does this work well if SheepShaver crashes? (e.g. does the lock get removed in that case?) When I kill -9 the test app I made, subsequent attempts to mount the dmg seem to work. Charles |
From: Alexei S. <ale...@gm...> - 2012-06-25 16:30:25
|
On Sun, Jun 24, 2012 at 3:46 PM, Charles Srstka < bas...@ch...> wrote: > > I just tested this on Snow Leopard and Lion, and it works. When you’ve got > a disk image mounted, open(path, O_RDWR | O_EXLOCK | O_NONBLOCK) fails with > EAGAIN. If I’ve got a disk image open with O_EXLOCK and then I try to mount > it in the Finder, DiskImageMounter fails with “Resource temporarily > unavailable”. So this should do what you want without having to monkey with > permanent metadata bits on the file. > Cool! Does this work well if SheepShaver crashes? (e.g. does the lock get removed in that case?) -Alexei |
From: Charles S. <bas...@ch...> - 2012-06-24 19:46:15
|
On Jun 24, 2012, at 1:41 PM, Alexei Svitkine wrote: > On Sun, Jun 24, 2012 at 2:31 PM, Robert Munafo <mr...@gm...> wrote: > I like the first idea, because it is careful. > > The second idea will make volumes get locked, and therefore > permanently damaged" (unmountable) the very first time SheepShaver or > BasiliskII crashes. > > I was thinking of the "lock" option that the user can then do a Get Info -> uncheck "Locked" checkbox in Finder in such a scenario. The proper way to do this is to request an exclusive lock when openin the disk image file. This used to be standard practice in ye olde Mac OS (IIRC, pretty much every file open operation resulted in an exclusive lock being automatically granted), but in OS X that behavior changed. You can still ask for exclusive locks if you explicitly ask for them, though. You can do this by passing O_EXLOCK to the open() function. If you want open() to fail immediately if the file is already open instead of simply blocking until the file is available, then pass O_NONBLOCK as well. I just tested this on Snow Leopard and Lion, and it works. When you’ve got a disk image mounted, open(path, O_RDWR | O_EXLOCK | O_NONBLOCK) fails with EAGAIN. If I’ve got a disk image open with O_EXLOCK and then I try to mount it in the Finder, DiskImageMounter fails with “Resource temporarily unavailable”. So this should do what you want without having to monkey with permanent metadata bits on the file. Charles |
From: Charles S. <bas...@ch...> - 2012-06-24 18:53:15
|
On Jun 24, 2012, at 1:41 PM, Alexei Svitkine wrote: > > > On Sun, Jun 24, 2012 at 2:31 PM, Robert Munafo <mr...@gm...> wrote: > I like the first idea, because it is careful. > > The second idea will make volumes get locked, and therefore > permanently damaged" (unmountable) the very first time SheepShaver or > BasiliskII crashes. > > I was thinking of the "lock" option that the user can then do a Get Info -> uncheck "Locked" checkbox in Finder in such a scenario. I would not want BII/SheepShaver messing with the “lock” option, because I like to use it for disk images that I do not want BII/SheepShaver to change (they then show up as read-only in the Finder). If BII/SS could turn it on, it stands to reason that they could also turn it off after a crash. (Yes, I know that I could use permissions for this. This is handier.) Charles |
From: Alexei S. <ale...@gm...> - 2012-06-24 18:42:27
|
On Sun, Jun 24, 2012 at 2:31 PM, Robert Munafo <mr...@gm...> wrote: > I like the first idea, because it is careful. > > The second idea will make volumes get locked, and therefore > permanently damaged" (unmountable) the very first time SheepShaver or > BasiliskII crashes. > I was thinking of the "lock" option that the user can then do a Get Info -> uncheck "Locked" checkbox in Finder in such a scenario. -Alexei |
From: Robert M. <mr...@gm...> - 2012-06-24 18:35:00
|
On 6/24/12, Ronald P. Regensburg <ron...@xs...> wrote: > Accidental double-mounting does happen to me occasionally, although I know I > should take care that it does not happen. > > Even if a solution like this would work, I suppose there is no way to > prevent mounting of a disk image in OSX that is already mounted in SS/B2. No, actually, that would be quite easy to prevent: Once the image file is mounted, rename it to an invisible name ("/tmp/basiliskii/.mounted-volname.dmg") But it's not a good idea, because (as I said in the previous message) as soon as BasiliskII crashes, the volume is effectively "lost" from the user's point of view. -- Robert Munafo -- mrob.com Follow me at: gplus.to/mrob - fb.com/mrob27 - twitter.com/mrob_27 - mrob27.wordpress.com - youtube.com/user/mrob143 - rilybot.blogspot.com |
From: Robert M. <mr...@gm...> - 2012-06-24 18:31:52
|
I like the first idea, because it is careful. The second idea will make volumes get locked, and therefore permanently damaged" (unmountable) the very first time SheepShaver or BasiliskII crashes. On 6/24/12, Dave Vasilevsky <va...@us...> wrote: > On a couple of occasions, disk images of mine have become corrupted > due to accidental double-mounting in SheepShaver and/or BasiliskII. I > propose we try and minimize the chance of this happening. Two > situations need to be dealt with: > > 1. The host OS and SheepShaver (or B2) both have the disk mounted. We > already try to prevent this with is_drive_mounted(), but it only works > on Linux hosts, and only with real devices, not loop mounts. > [in OS X we can use] getmntinfo(3) [or] IOKit [(using] undocumented IOKit properties > [...] > 2. Multiple instances of B2/SS using the same disk image. We should be > able to prevent this by using advisory locks in Sys_open(). > > What do folks think? Worth working on? -- Robert Munafo -- mrob.com Follow me at: gplus.to/mrob - fb.com/mrob27 - twitter.com/mrob_27 - mrob27.wordpress.com - youtube.com/user/mrob143 - rilybot.blogspot.com |
From: Dave V. <da...@va...> - 2012-06-24 17:54:23
|
Ronald P. Regensburg wrote: > Even if a solution like this would work, I suppose there is no way to > prevent mounting of a disk image in OSX that is already mounted in SS/B2. Good point Ronald, I only thought of first mounting in OS X and then in SS, not the other way around. Alexei Svitkine wrote: > Perhaps SheepShaver could lock the file while in use? I did some testing, and it looks like OS X's disk images use advisory locks! (I'm not sure if this is documented anywhere, but I'll take what I can get.) So we don't even need all that silly IOKit stuff, flock() will just solve everything. All I'm worried about now is other platforms. Can anybody think of a good way to detect loopback on Linux? -V |
From: Alexei S. <ale...@gm...> - 2012-06-24 14:41:03
|
On Sun, Jun 24, 2012 at 8:49 AM, Ronald P. Regensburg <ron...@xs...>wrote: > Accidental double-mounting does happen to me occasionally, although I know > I should take care that it does not happen. > > Even if a solution like this would work, I suppose there is no way to > prevent mounting of a disk image in OSX that is already mounted in SS/B2. > Perhaps SheepShaver could lock the file while in use? (Although I'm not sure if this is possible if it already has it mounted and if writes to it would still succeed.) I think it's worth a try. Patches welcome! -Alexei |
From: Alexei S. <ale...@gm...> - 2012-06-24 14:38:37
|
Can you file issues on our GitHub issue tracker about these problems? https://github.com/cebix/macemu/issues Please file one issue per specific problem and include as much info as you can (e.g. which specific apps and OS versions you tested with), so that a developer can easily reproduce the problem. Thanks! -Alexei On Sun, Jun 24, 2012 at 7:52 AM, Ronald P. Regensburg <ron...@xs...>wrote: > > I tested SheepShaver clipboard integration in OSX 10.7.4 (Lion) with a two > SheepShaver builds from yesterday's (June 23) source, downloaded from > GitHub. > > One UB build was made by me using the Xcode project with XCode 3.2.6 in > OSX 10.6.8. > The other x86_64 only build was made by Howard Spoelstra in OSX 10.6.8 > using the command line. > > The x86_64 only build and the UB build in 64-bit mode behaved identically. > > > Findings: > > In 32-bit mode: > > Plain text: > Works in both directions, also for accented characters. > > Formatted text: > Sort of a gamble. It may work with some applications, but not consistently. > > Images from MacOS to OSX: > Works, but seems to work consistently only if the MacOS application from > which the image is copied uses QuickTime for displaying images, like > PictureViewer and Tex-Edit Plus do. > > Images from OSX to MacOS: > Works from all tested applications. > > > In 64-bit mode: > > Plain text from OSX to MacOS: > Works, also for accented characters. > > Plain text from MacOS to OSX: > Works partially: Accented characters do not arrive correctly on the OSX > clipboard. > > Formatted text: > Not tested. > > Images from MacOS to OSX: > Works from all tested applications. > > Images from OSX to MacOS: > Works only from a few applications. It works when copied from Tex-Edit > Plus (OSX version), but not when copied from Preview or GraphicConverter. > > Copying images form OSX to MacOS does not work at all when the MacOS > clipboard is empty (after a fresh restart) or contains text. The copied > image does not appear on the MacOS clipboard, text on the clipboard is not > replaced. Only when the MacOS clipboard already contains an image, another > image that is copied in OSX will appear on the MacOS clipboard. > > > Ronald P. Regensburg. > > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > basilisk-devel mailing list > bas...@li... > https://lists.sourceforge.net/lists/listinfo/basilisk-devel > |
From: Alexei S. <ale...@gm...> - 2012-06-24 14:36:23
|
Feel free to file an issue about this at: https://github.com/cebix/macemu/issues On Sun, Jun 24, 2012 at 8:04 AM, Ronald P. Regensburg <ron...@xs...>wrote: > > I noticed that when SheepShaver for MacOSX is compiled for one single > architecture using the command line, its Info.plist file still contains > "Architecture priority" and "Minimum system versions, per arc" keys. This > causes a non-functional "Open in 32-bit mode" check box to appear in Finder > Info panel for a x86_64 only build. > > Ronald P. Regensburg. > > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > basilisk-devel mailing list > bas...@li... > https://lists.sourceforge.net/lists/listinfo/basilisk-devel > |
From: Ronald P. R. <ron...@xs...> - 2012-06-24 12:49:35
|
Accidental double-mounting does happen to me occasionally, although I know I should take care that it does not happen. Even if a solution like this would work, I suppose there is no way to prevent mounting of a disk image in OSX that is already mounted in SS/B2. Ronald. Op 24 jun. 2012, om 07:53 heeft Dave Vasilevsky het volgende geschreven: > On a couple of occasions, disk images of mine have become corrupted > due to accidental double-mounting in SheepShaver and/or BasiliskII. I > propose we try and minimize the chance of this happening. Two > situations need to be dealt with: > > 1. The host OS and SheepShaver (or B2) both have the disk mounted. We > already try to prevent this with is_drive_mounted(), but it only works > on Linux hosts, and only with real devices, not loop mounts. > > It should be possible to extend this to OS X. For real devices, using > getmntinfo(3) should be straightforward. For disk images (the > equivalent of loop mounts), we can use IOKit to try and detect that > they're in use, though it uses undocumented IOKit properties. Some > code I whipped up, without proper error checking or memory management: > > NSString *imgPath = @"/my/disk/image.img"; > NSData *imgData = [imgPath dataUsingEncoding:NSUTF8StringEncoding]; > CFMutableDictionaryRef match = IOServiceMatching("IOHDIXHDDrive"); > CFDictionaryAddValue(match, CFSTR(kIOPropertyMatchKey), > [NSDictionary dictionaryWithObject: imgData forKey: @"image-path"]); > io_service_t serv = IOServiceGetMatchingService(kIOMasterPortDefault, > (CFDictionaryRef)match); > if (serv) printf("It's mounted!\n"); > > I don't know if there's a good API to check for loop mounts on Linux. > Parse the output of losetup(8)? Some place in sysfs? > > 2. Multiple instances of B2/SS using the same disk image. We should be > able to prevent this by using advisory locks in Sys_open(). > > > What do folks think? Worth working on? > > Cheers, > Dave > |
From: Ronald P. R. <ron...@xs...> - 2012-06-24 12:04:49
|
I noticed that when SheepShaver for MacOSX is compiled for one single architecture using the command line, its Info.plist file still contains "Architecture priority" and "Minimum system versions, per arc" keys. This causes a non-functional "Open in 32-bit mode" check box to appear in Finder Info panel for a x86_64 only build. Ronald P. Regensburg. |
From: Ronald P. R. <ron...@xs...> - 2012-06-24 11:53:11
|
I tested SheepShaver clipboard integration in OSX 10.7.4 (Lion) with a two SheepShaver builds from yesterday's (June 23) source, downloaded from GitHub. One UB build was made by me using the Xcode project with XCode 3.2.6 in OSX 10.6.8. The other x86_64 only build was made by Howard Spoelstra in OSX 10.6.8 using the command line. The x86_64 only build and the UB build in 64-bit mode behaved identically. Findings: In 32-bit mode: Plain text: Works in both directions, also for accented characters. Formatted text: Sort of a gamble. It may work with some applications, but not consistently. Images from MacOS to OSX: Works, but seems to work consistently only if the MacOS application from which the image is copied uses QuickTime for displaying images, like PictureViewer and Tex-Edit Plus do. Images from OSX to MacOS: Works from all tested applications. In 64-bit mode: Plain text from OSX to MacOS: Works, also for accented characters. Plain text from MacOS to OSX: Works partially: Accented characters do not arrive correctly on the OSX clipboard. Formatted text: Not tested. Images from MacOS to OSX: Works from all tested applications. Images from OSX to MacOS: Works only from a few applications. It works when copied from Tex-Edit Plus (OSX version), but not when copied from Preview or GraphicConverter. Copying images form OSX to MacOS does not work at all when the MacOS clipboard is empty (after a fresh restart) or contains text. The copied image does not appear on the MacOS clipboard, text on the clipboard is not replaced. Only when the MacOS clipboard already contains an image, another image that is copied in OSX will appear on the MacOS clipboard. Ronald P. Regensburg. |
From: Dave V. <va...@us...> - 2012-06-24 05:53:45
|
On a couple of occasions, disk images of mine have become corrupted due to accidental double-mounting in SheepShaver and/or BasiliskII. I propose we try and minimize the chance of this happening. Two situations need to be dealt with: 1. The host OS and SheepShaver (or B2) both have the disk mounted. We already try to prevent this with is_drive_mounted(), but it only works on Linux hosts, and only with real devices, not loop mounts. It should be possible to extend this to OS X. For real devices, using getmntinfo(3) should be straightforward. For disk images (the equivalent of loop mounts), we can use IOKit to try and detect that they're in use, though it uses undocumented IOKit properties. Some code I whipped up, without proper error checking or memory management: NSString *imgPath = @"/my/disk/image.img"; NSData *imgData = [imgPath dataUsingEncoding:NSUTF8StringEncoding]; CFMutableDictionaryRef match = IOServiceMatching("IOHDIXHDDrive"); CFDictionaryAddValue(match, CFSTR(kIOPropertyMatchKey), [NSDictionary dictionaryWithObject: imgData forKey: @"image-path"]); io_service_t serv = IOServiceGetMatchingService(kIOMasterPortDefault, (CFDictionaryRef)match); if (serv) printf("It's mounted!\n"); I don't know if there's a good API to check for loop mounts on Linux. Parse the output of losetup(8)? Some place in sysfs? 2. Multiple instances of B2/SS using the same disk image. We should be able to prevent this by using advisory locks in Sys_open(). What do folks think? Worth working on? Cheers, Dave |
From: Alexei S. <ale...@gm...> - 2012-06-22 21:34:54
|
Interesting. Someone who builds SheepShaver on Windows would have to debug why it crashes. -Alexei On Fri, Jun 22, 2012 at 12:29 PM, howard spoelstra < how...@ho...> wrote: > Hi all, > > Some time ago a member of the e-maculation forum donated a patch for tap > based networking in 64 bit windows. > I tried to compile a SheepShaver version with that patch, but it crashes > as soon as started when set to use tap networking. > > For anyone interested, the code is here: http://pastebin.com/G85pyNaG > The original post is here: > http://www.emaculation.com/forum/viewtopic.php?f=20&t=7099 > > Best regards, > Howard > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > basilisk-devel mailing list > bas...@li... > https://lists.sourceforge.net/lists/listinfo/basilisk-devel > > |