From: Jeff D. <jd...@ka...> - 2000-10-17 05:16:24
|
em...@mi... said: > I'm interested in helping out with UML if it's needed or wanted. Sure. The more the merrier. > What exactly is the status of SMP in UML now? It's the victim of bitrot. It's been allowed to atrophy. > If SMP isn't in UML now, how should SMP be defined for it? The only thing needed to support SMP is to make sure that the arch code is SMP-safe. All of the other support is there. I've put some #errors in where I know something is not SMP-safe. It will fail to compile if you turn on SMP and try to build it. So, those need fixing, and a scan through the rest of the arch code would need to be done and locking added as needed. If you don't know what SMP-safety is, let me know, and I'll see how well I can explain it. > Finally, I use to be fluent in broken French, so maybe I could work on > translating the web site. That would be cool... There are some other projects which would be interesting. Near the top of the list is a 'hostfs' filesystem which provides access to the host filesystem. This would be a virtual filesystem which plugs into the VFS layer and converts vfs calls into their libc equivalents. If you want more choices, let me know. I can probably think of some... Jeff |
From: Michael V. <mj...@un...> - 2000-10-17 16:33:09
|
Over the summer when I had much more time on my hands I started toying around with running Linux binaries on Windows (like lxrun). Since every so often there seems to be somebody asking about running UML on Windows, I though I'd share some of what I learned. I started entirely much from scratch and wrote an elfloader to load a Linux binary into a Windows process and start executing it. To prevent the int $80s from killing the process, I had to create a "monitor" process that basically acted as a debugger. Whenever the Linux binary executed a int $80, the monitor would gain control and redirect execution to the appropriate syscall. I was able to get simple utilities like "cat" and "echo" working, as well as a stripped down version of bash that could even fork() sometimes! Cedric Adjih writes: > I don`t know if Win98 would be useable, I got crashes when using > "int $80" with a genuine Win98 (and more normal blue screen reporting > illegal operation when in vmware). I think these are some > problems with Windows port: The workaround (ie. nasty kludge) I came up for Win9x was to search the .code segments and rewrite any "int $80" I found to a "int $03" (debugger breakpoint). Note that I used use long encoding of 0x03CD instead of the single byte 0xCC encoding. One annoying thing about that is that int $03 is a trap and int $80 is a fault (or maybe the other way around), so you have to increment PC after int $03 but not int $80 -- which means you need a check for Win9x vs. WinNT > - For 98, the equivalent of an mmap function is necessary. Is it > possible? (Cygnus mmap is limited because of limitations of W98/W95). yes, the lack of VirtualAllocEx() on Win95/98 is really annoying! > Design might be different, for instance if it is easy on NT to > change the memory mapping of one process: then one could use only > two processes: the tracer process and a "traced" process. > "Signal"-based scheduling might also be changed. There is also the issue of whether the syscalls execute as the tracer process or as the traced process. There are avantages and disavantages to both. I still have my source kicking around somewhere, I could make it available if there is interest. It's pretty rough around the edges though. Michael |
From: Jeff D. <jd...@ka...> - 2000-10-18 19:18:35
|
em...@mi... said: > Great, I'll get started on the SMP stuff, then. Cool. Make sure you ask questions if there's something you don't understand :-) > I realized that I > have an easier option on the porting side, too. I have regular access > to Solaris machines (SPARC), so I might be able to give porting a try > there. Hopefully it won't be too difficult If you decide to give this a try, you might consider doing a Linux/sparc port first. I think that a Solaris port will involve doing that anyway, so that would be a good way of splitting the project into two smaller ones, each of which is useful in its own right. Jeff |
From: Chris L. <sa...@no...> - 2000-10-17 15:20:11
|
If it helps, I have already written a "hostfs" filesystem that should work with UML with very little modification... the only catch is that I'm waiting on my employer to allow me to release it (which they have said they will, just paperwork stuff)... I'll see if I can reaccellerate this processes... -Chris On Tue, 17 Oct 2000, Jeff Dike wrote: > em...@mi... said: > > I'm interested in helping out with UML if it's needed or wanted. > > Sure. The more the merrier. > > > What exactly is the status of SMP in UML now? > > It's the victim of bitrot. It's been allowed to atrophy. > > > If SMP isn't in UML now, how should SMP be defined for it? > > The only thing needed to support SMP is to make sure that the arch code is > SMP-safe. All of the other support is there. I've put some #errors in where > I know something is not SMP-safe. It will fail to compile if you turn on SMP > and try to build it. > > So, those need fixing, and a scan through the rest of the arch code would need > to be done and locking added as needed. > > If you don't know what SMP-safety is, let me know, and I'll see how well I can > explain it. > > > Finally, I use to be fluent in broken French, so maybe I could work on > > translating the web site. > > That would be cool... > > There are some other projects which would be interesting. Near the top of the > list is a 'hostfs' filesystem which provides access to the host filesystem. > This would be a virtual filesystem which plugs into the VFS layer and converts > vfs calls into their libc equivalents. > > If you want more choices, let me know. I can probably think of some... > > Jeff > > > _______________________________________________ > User-mode-linux-devel mailing list > Use...@li... > http://lists.sourceforge.net/mailman/listinfo/user-mode-linux-devel > |
From: Emil O. <em...@mi...> - 2000-10-18 17:07:30
|
Great, I'll get started on the SMP stuff, then. I realized that I have an easier option on the porting side, too. I have regular access to Solaris machines (SPARC), so I might be able to give porting a try there. Hopefully it won't be too difficult (certainly not more than windows :) Emil On Tue, 17 Oct 2000, Jeff Dike wrote: > em...@mi... said: > > I'm interested in helping out with UML if it's needed or wanted. > > Sure. The more the merrier. > > > What exactly is the status of SMP in UML now? > > It's the victim of bitrot. It's been allowed to atrophy. > > > If SMP isn't in UML now, how should SMP be defined for it? > > The only thing needed to support SMP is to make sure that the arch code is > SMP-safe. All of the other support is there. I've put some #errors in where > I know something is not SMP-safe. It will fail to compile if you turn on SMP > and try to build it. > > So, those need fixing, and a scan through the rest of the arch code would need > to be done and locking added as needed. > > If you don't know what SMP-safety is, let me know, and I'll see how well I can > explain it. > > > Finally, I use to be fluent in broken French, so maybe I could work on > > translating the web site. > > That would be cool... > > There are some other projects which would be interesting. Near the top of the > list is a 'hostfs' filesystem which provides access to the host filesystem. > This would be a virtual filesystem which plugs into the VFS layer and converts > vfs calls into their libc equivalents. > > If you want more choices, let me know. I can probably think of some... > > Jeff > > |