Date: Sat, 13 Mar 1999 10:36:07 -0600 (CST) From: Troy Benjegerdes <[EMAIL PROTECTED]>
I've just got the hurd running on a dual Pentium Pro machine, and I've got a couple of Mach related questions. First, is there an equivalent of the 'linux-kernel' mailing list for kernel related issues? You could send things to [email protected], although most Hurd developers read debian-hurd too. First, could someone fix the boot messages that say 'partition check: hda hda1 hda2 hda3' to reflect that Mach uses hd0s1, etc. I found this rather confusing at first, until I realized it whas probably lifted directly from the Linux code ;) Yes it is the output from the Linux driver. The point is that we try to make only the minimum amount of changes to the origional sources as possible. And since this would only be a cosmetic change, I don't think it is a priority right now. Second, does Mach support SMP at all? Does the hurd have equivalents of the linux /proc/cpuinfo and /proc/interrupts? What will it take to get SMP running? At this moment GNU Mach does not support SMP. I believe OKUJI Yoshinori has been working on getting SMP (from OSF Mach 3) into GNU Mach, but I don't know if he's been successful. In principle there are Mach calls to get the number of processors in your machine and manage these processors. In looking at the Hurd reference manual, I see this: Currently (April 1998), the Hurd is quite dependent on the GNU Mach microkernel, which is a derivative of the University of Utah's Mach 4. However, the Hurd developers are all-too-aware of the limitations of Mach. What are some of the limitations of Mach? How does it compare to osfMach3 (which I am familiar with from working with MkLinux on PowerMacs)? There are some differences with OSF Mach. Both GNU Mach and OSF Mach are derived from Mach 3, but they both provide some extensions to the things in Mach 3, and some extensions are implemented in slightly different ways. In addition to this the OSF people made some changes to the Mach 3 API, and they made some rather invasive changes to MiG. Finally, I'm contemplating either porting the Hurd servers to osfMach3 so I can run it on my PowerMac, or merging osfMach and GNU Mach to accomplish the same thing. I have done some work on this. I added multiboot support to OSF Mach (which is relevant if you want to run the Hurd on top of OSF Mach on the ix86), did some work to add the extensions to GNU people made to their version of MiG to the OSF version. Here is a list of things I think need to be done to get the Hurd run on OSF Mach: * Change the few cases where the Hurd is using Mach calls that have been changed or dropped in OSF Mach. * Update the parts from libmach included in glibc from OSF Mach. * Write a new version of the serverboot program (the bootstrap task called directly by Mach) and the default pager, compatible with the way OSF Mach handles these things. In addition to this to get it to run on a PowerPC, you'll have to write the PowerPC Mach- & Hurd-specific libc code. Look at the i386-specific code in `sysdeps/mach/i386' and `sysdeps/mach/hurd/i386' to get an idea of the amount of code that has to be written. Since there is a Linux PowerPC port most of the other PowerPC-specific code has already been written.

