All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* mac-on-linux project status
@ 1999-01-24  3:48 Samuel Rydh
  1999-01-24 19:28 ` Linux and Mac together (Was: Re: mac-on-linux project status) Robin Colgrove
  1999-01-25  1:14 ` mac-on-linux project status Tom Harrington
  0 siblings, 2 replies; 9+ messages in thread
From: Samuel Rydh @ 1999-01-24  3:48 UTC (permalink / raw
  To: linuxppc-dev



Mac-on-linux project status, Jan 23, 1999
=================================


1. Overview

The goal of the mac-on-linux project is making linuxppc capable of
booting a second operating system. The target is in particular
to run MacOS, but also Be OS, Mac OS X Server and a "second linux".


2. Introduction

One common way of booting a second operating system involves
a software emulation library (Apple's MAE uses this technique).
One of the benefits with this approach is that it is fairly hardware
independent. However, only a single OS can be targeted.

The mac-on-linux project does not utilize an emulation library.
Instead it emulates the hardware of the machine. An approach that
has been commonly used to emulate such computers as C64, Atari,
Amiga, MSX etc.

In order to obtain reasonable speed, it is necessary that the second
OS runs natively on the processor. This has been achieved through
low-level support code in the kernel.


3. Supported Machines

For now, the code works on the 601 and the 604 processors. It probably
runs on G3 too.

The 603 have a slightly different MMU implementation (no PTE table).
Some modifications must be made to the MMU-code to support the 603
(this should be relatively simple).

Only linux-ppc is supported, not MkLinux. A port to MkLinux probably
requires a lot of effort since the micro-kernel architecture complicates
things.

For now, the Power Macintosh is in focus. It should be simple enough to
add support for other linuxppc machines though.


4. Status of Hardware Emulation

The processor emulation is fairly complete, with some  exceptions:

  - floating point instructions
  - 603 support
  - HIDx registers

Some things in the MMU code needs to be fixed and tuned,  but the MMU
emulaton is in principle complete.

Most of device drivers are unimplemented, or in very preliminar state.
Some of the things written so far:

   - nvram
   - via/cuda
   - adb (keyboard)
   - swim3 floppy controller
   - interrupt controller
   - 53c94 SCSI controller (emulates an empty SCSI bus)
   - AWACS sound controller
   - platinum (experimental)
   - DBDMA controller

The AWACS driver simply plays data sent through the DMA-channel
at constant speed. (This driver was written entirely to test the dma
interface.
It plays the startup-boing nicely though.)

The swim3 floppy driver does not support write operations. It can however
be used to load a kernel image.

The screen driver (platinum) is very experimental, but it is semi-working
(on the 7200/8200).

For now, it is necessary to communicate with Open Firmware through one of the
serial ports. Until a serial driver has been written, access of the serial
controller
is forwarded to the real hardware.


5. How Far Does It Boot?

The goal is booting MacOS, but it is far easier to boot a second linux
(since the
source  code is known). Thus, no effort has yet been put into booting MacOS.

It is possible though to boot and run the linux installer for a floppy
image. In
theory,  it should be possible to boot a complete linux system as soon as a
SCSI-driver
has been written.

The screen drivers have not been written yet, with the exception for a very
preliminary  platinum driver (which only works on the 7200/8200 for now).


6. Programmers Needed!

The source code has been published under the GNU license.  To help make this
project a success, take a look at the source and see if there is something you
can do to contribute!

The source code and further information is avabile at

	<http://www.ibrium.se/linux/mac_on_linux.html>.



/Samuel Rydh <samuel@ibrium.se>




[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to  Cc linuxppc-dev  if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Linux and Mac together (Was: Re: mac-on-linux project status)
  1999-01-24  3:48 mac-on-linux project status Samuel Rydh
@ 1999-01-24 19:28 ` Robin Colgrove
  1999-01-25  0:55   ` Tom Harrington
  1999-01-25  1:14 ` mac-on-linux project status Tom Harrington
  1 sibling, 1 reply; 9+ messages in thread
From: Robin Colgrove @ 1999-01-24 19:28 UTC (permalink / raw
  To: Samuel Rydh; +Cc: linuxppc-dev




Samuel Rydh wrote:

> Mac-on-linux project status, Jan 23, 1999
> =================================
>
> 1. Overview
>
> The goal of the mac-on-linux project is making linuxppc capable of
> booting a second operating system. The target is in particular
> to run MacOS, but also Be OS, Mac OS X Server and a "second linux".
>

This is slightly tangential but I was hoping that OS-mavens can clear this up for
me.

As someone who runs a mac OS internet server as part of my research
collaborations (but am employed as a medical doctor, not as a programmer), I have
been playing around with linux and following the news of OS X server with the
idea of moving my internet things (smtp, http, ftp, nntp, telnet, chat, etc.)
onto a "real" server OS.

Maybe I am just not understanding this but if both MkLinux and OS X run on top of
the Mach microkernel, could they both be running simultaneously? If so, I could
imagine using OS X (not OS X server) as my desktop OS while on the same machine
MkLinux was taking care of the internet server things in the background. I do not
need super high performance stuff since I only "host" a few dozen pretty
low-intensity users.  Right now I get by on shareware tools (Quid Pro Quo, Rumor
Mill, OTChat, NCSATelnet, Eudora Internet Mail Server) but I am reaching the
limits of what I can do with these.

Thanks

robin colgrove

http://louis.bidmc.harvard.edu/labpage.html  (lab)
http://louis.bidmc.harvard.edu/Rabkin.pages/forums.html  (health forums project)
http://tparker.Boston.UUA.org (Unitarian Church page -actually running on louis)




[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to  Cc linuxppc-dev  if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Linux and Mac together (Was: Re: mac-on-linux project status)
  1999-01-24 19:28 ` Linux and Mac together (Was: Re: mac-on-linux project status) Robin Colgrove
@ 1999-01-25  0:55   ` Tom Harrington
  1999-01-25  5:11     ` Ken Roberts
  0 siblings, 1 reply; 9+ messages in thread
From: Tom Harrington @ 1999-01-25  0:55 UTC (permalink / raw
  To: Robin Colgrove; +Cc: linuxppc-dev


 
> Maybe I am just not understanding this but if both MkLinux and OS X run on 
> top of the Mach microkernel, could they both be running simultaneously? If 
> so, I could imagine using OS X (not OS X server) as my desktop OS while 
> on the same machine MkLinux was taking care of the internet server things 
> in the background. I do not need super high performance stuff since I 
> only "host" a few dozen pretty low-intensity users.  Right now I get by on 
> shareware tools (Quid Pro Quo, Rumor Mill, OTChat, NCSATelnet, Eudora 
> Internet Mail Server) but I am reaching the limits of what I can do with 
> these.

In principle, yes,  Mach is capable of running multiple server operating 
systems at the same time.  I have no idea what's involved in making this
happen, but supposedly one of the advantges of a microkernel-based Linux
(like MkLinux or L4Linux) is that you can run one Linux kernel while
debugging another one simultaneously.  You may have trouble, though, if
Apple is using a different version of Mach than MkLinux does, or if Apple
has stuck some MacOS X Server-specific things into their Mach code.

I really can't help you beyond suggesting that the MkLinux mailing lists
might be a better place to ask.  If you succeed, though, I'd be very
interested in hearing about it.  Good luck.  :-)

Depending on how urgent your needs are and how much MacOS you need vs. 
server stuff, you might be better off waiting for SheepShaver on Linux.


[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to  Cc linuxppc-dev  if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mac-on-linux project status
  1999-01-24  3:48 mac-on-linux project status Samuel Rydh
  1999-01-24 19:28 ` Linux and Mac together (Was: Re: mac-on-linux project status) Robin Colgrove
@ 1999-01-25  1:14 ` Tom Harrington
  1999-01-25 15:12   ` Samuel Rydh
  1 sibling, 1 reply; 9+ messages in thread
From: Tom Harrington @ 1999-01-25  1:14 UTC (permalink / raw
  To: Samuel Rydh; +Cc: linuxppc-dev


> 4. Status of Hardware Emulation
> 
> The processor emulation is fairly complete, with some  exceptions:
> 
>   - floating point instructions
>   - 603 support
>   - HIDx registers
> 
> Some things in the MMU code needs to be fixed and tuned,  but the MMU
> emulaton is in principle complete.

Just out of curiosity, have you considered using PSIM?  It sounds like
it's a pretty complete PowerPC emulator.  
<ftp://cambridge.cygnus.com/pub/psim/index.html>.


[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to  Cc linuxppc-dev  if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Linux and Mac together (Was: Re: mac-on-linux project status)
  1999-01-25  0:55   ` Tom Harrington
@ 1999-01-25  5:11     ` Ken Roberts
  1999-01-25 15:47       ` David A. Gatwood
  0 siblings, 1 reply; 9+ messages in thread
From: Ken Roberts @ 1999-01-25  5:11 UTC (permalink / raw
  To: Tom Harrington; +Cc: Robin Colgrove, linuxppc-dev


>> Maybe I am just not understanding this but if both MkLinux and OS X run on 
>> top of the Mach microkernel, could they both be running simultaneously? If 
>
>In principle, yes,  Mach is capable of running multiple server operating 
>systems at the same time.  I have no idea what's involved in making this
>happen, but supposedly one of the advantges of a microkernel-based Linux

this was explained to the mklinux list quite some time back.  i believe this
will not work because mklinux and osx use different versions of the mach kernel.

from what i remember, mklinux uses a more recent kernel than the official apple
stuff.  the interfaces are different enough so that the two worlds are
incompatible.


--------------------------------------------------------------------------------
Ken Roberts                                               ken.r@worldnet.att.net
"A mechanism of world intercommunication will be devised, embracing the whole
planet, freed from national hindrances and restrictions, and functioning with
marvelous swiftness and perfect regularity."
                                                        (Shoghi Effendi, 1936)


[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to  Cc linuxppc-dev  if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mac-on-linux project status
  1999-01-25  1:14 ` mac-on-linux project status Tom Harrington
@ 1999-01-25 15:12   ` Samuel Rydh
  1999-01-25 17:44     ` David Edelsohn
  1999-01-25 19:21     ` Tom Harrington
  0 siblings, 2 replies; 9+ messages in thread
From: Samuel Rydh @ 1999-01-25 15:12 UTC (permalink / raw
  To: Tom Harrington; +Cc: linuxppc-dev


>> 4. Status of Hardware Emulation
>>
>> The processor emulation is fairly complete, with some  exceptions:
>>
>>   - floating point instructions
>>   - 603 support
>>   - HIDx registers
>>
>> Some things in the MMU code needs to be fixed and tuned,  but the MMU
>> emulaton is in principle complete.
>
>Just out of curiosity, have you considered using PSIM?  It sounds like
>it's a pretty complete PowerPC emulator.
><ftp://cambridge.cygnus.com/pub/psim/index.html>.
>
>

The idea is to run things natively on the processor. For instance, all
user level instructions are run at full speed. The only thing needed
to be emulated are the priviliged instructions. Since priviliged
instructions only are used by the operating system for such things
as interrupt control, mac-on-linux runs at in principle 100% speed.

The "emulation" of the MMU works in a similar manner. Mac-on-linux
acts like a glue between the physical MMU and the MMU the mac-process
expects there to be. When a segment register is loaded for instance,
mac-on-linux simply translates the context number.

/Samuel



[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to  Cc linuxppc-dev  if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Linux and Mac together (Was: Re: mac-on-linux project status)
  1999-01-25  5:11     ` Ken Roberts
@ 1999-01-25 15:47       ` David A. Gatwood
  0 siblings, 0 replies; 9+ messages in thread
From: David A. Gatwood @ 1999-01-25 15:47 UTC (permalink / raw
  To: Ken Roberts; +Cc: Tom Harrington, Robin Colgrove, linuxppc-dev


On Sun, 24 Jan 1999, Ken Roberts wrote:

> >> Maybe I am just not understanding this but if both MkLinux and OS X run on 
> >> top of the Mach microkernel, could they both be running simultaneously? If 
> >
> >In principle, yes,  Mach is capable of running multiple server operating 
> >systems at the same time.  I have no idea what's involved in making this
> >happen, but supposedly one of the advantges of a microkernel-based Linux
> 
> this was explained to the mklinux list quite some time back.  i believe
> this will not work because mklinux and osx use different versions of the
> mach kernel. 
> 
> from what i remember, mklinux uses a more recent kernel than the
> official apple stuff.  the interfaces are different enough so that the
> two worlds are incompatible. 

MkLinux uses a more modern Mach than OS X server, yes.  It uses a very
similar kernel to what OS X final is expected to use, though.  I like to
think there are always possibilities.  I won't be certain whether there's
any porting potential or not until OS X is released, though.


Later,
David

David A. Gatwood                         Visit globegate's internet
dgatwood@globegate.utm.edu                  talker, Deep Space 36
http://globegate.utm.edu                telnet globegate.utm.edu:9624

-----BEGIN GEEK CODE BLOCK-----
Version 3.1
GCS/CC/FA/H/L/MC/M/MU/PA/TW d-@ s:>- a-- C++ ++>$ UBLAS*++ ++>$
P+?>$ L++ +>$ !E--- W++ +>$ N++(++ +)>++ +$ !o? K-? !w--- !O
M++>$ !V-- PS+>$ !PE- Y+>$ PGP+>$ t++ +>$ 5+>++ ++$ !X- !R tv+>$
b++>$ !DI !D- G++(++ +)>$ e>++ ++ h--! r--- !y-
------END GEEK CODE BLOCK------


[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to  Cc linuxppc-dev  if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mac-on-linux project status
  1999-01-25 15:12   ` Samuel Rydh
@ 1999-01-25 17:44     ` David Edelsohn
  1999-01-25 19:21     ` Tom Harrington
  1 sibling, 0 replies; 9+ messages in thread
From: David Edelsohn @ 1999-01-25 17:44 UTC (permalink / raw
  To: Samuel Rydh; +Cc: Tom Harrington, linuxppc-dev


	One of the changes from the original POWER architecture to the
PowerPC architecture was "virtualizing" the instructions so that a
hypervisor-like OS could virtualize the processor and allow hosted
operating systems on a virtual machine.

	The hosted operating system thinks that it is running on hardware
but all privileged operations trap to the hypervisor.

David


[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to  Cc linuxppc-dev  if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: mac-on-linux project status
  1999-01-25 15:12   ` Samuel Rydh
  1999-01-25 17:44     ` David Edelsohn
@ 1999-01-25 19:21     ` Tom Harrington
  1 sibling, 0 replies; 9+ messages in thread
From: Tom Harrington @ 1999-01-25 19:21 UTC (permalink / raw
  To: Samuel Rydh; +Cc: linuxppc-dev


> >Just out of curiosity, have you considered using PSIM?  It sounds like
> >it's a pretty complete PowerPC emulator.
> ><ftp://cambridge.cygnus.com/pub/psim/index.html>.
> 
> The idea is to run things natively on the processor. For instance, all
> user level instructions are run at full speed. The only thing needed
> to be emulated are the priviliged instructions. Since priviliged
> instructions only are used by the operating system for such things
> as interrupt control, mac-on-linux runs at in principle 100% speed.

I see.  You might want to rephrase some things on your web page then.
The page says:

"The mac-on-linux project does not utilize an emulation library. Instead 
it emulates the hardware of the machine. "

and 
"As stated above, all hardware must be emulated. "

and
"The processor emulation is fairly complete, with some exceptions:"

Now maybe it's just me, but "processor emulation" sounds just like PSIM.
It sounds like your approach is better, but your web page is confusing
on this point.  Emulating the whole processor and emulating priveliged
instructions only are two very different things.

Tom


[[ This message was sent via the linuxppc-dev mailing list. Replies are ]]
[[ not forced back to the list, so be sure to  Cc linuxppc-dev  if your ]]
[[ reply is of general interest. To unsubscribe from linuxppc-dev, send ]]
[[ the message 'unsubscribe' to linuxppc-dev-request@lists.linuxppc.org ]]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~1999-01-25 19:21 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
1999-01-24  3:48 mac-on-linux project status Samuel Rydh
1999-01-24 19:28 ` Linux and Mac together (Was: Re: mac-on-linux project status) Robin Colgrove
1999-01-25  0:55   ` Tom Harrington
1999-01-25  5:11     ` Ken Roberts
1999-01-25 15:47       ` David A. Gatwood
1999-01-25  1:14 ` mac-on-linux project status Tom Harrington
1999-01-25 15:12   ` Samuel Rydh
1999-01-25 17:44     ` David Edelsohn
1999-01-25 19:21     ` Tom Harrington

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.