Subject: ARM Linux and the ARMulator

From: Mitch Davis <[email-masked]>
Date: Thu, 04 Feb 1999 19:04:16 +1100

Dear ARMers,

Is it possible in theory or practice to try Linux kernels
under the ARMulator?

If so, what is required?

All information gratefully received.

Mitch.
--
| mailto:[email-masked]       | Not the official view of: |
| mailto:[email-masked] | Australian Calculator Opn |
| Certified Linux Evangelist! | Hewlett Packard Australia |
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: "Dr . David Alan Gilbert" <[email-masked]>
Date: Thu, 04 Feb 1999 09:12:58 +0000

>Is it possible in theory or practice to try Linux kernels

Yes it is; have a look at ftp://ftp.compsoc.man.ac.uk/pub/arcem
- that is an emulation of one of the oldest Acorn machines together
with a working ARM Linux kernel for it.

It is based around the public release of the ARMulator (although the later
versions of arcem hack it about a lot for speed).

It should theoretically possible to emulate a newer system (e.g. say whatever
goes in StrongARM based PDAs....) and then boot Linux on that - all you have
to do is write the emulation of the rest of the hardware.

Dave

---

From: Philip Blundell <[email-masked]>
Date: Thu, 04 Feb 1999 12:59:39 +0000

>Is it possible in theory or practice to try Linux kernels

What exactly are you trying to do?  The main problem with this idea is that 
for the kernel to do anything very useful it depends on all sorts of hardware 
outside the CPU core which probably doesn't get ARMulated.

In theory yes, it's certainly doable; you could have a model of an entire 
computer (well, enough to make the kernel run).  It would probably be a 
worthwhile project if you have the time.  Either you could extend the emulator 
to simulate an existing board, or you could devise a new port of the kernel to 
make life easier.

Dave Gilbert has an Archimedes emulator which might be worth a look.  I've 
never seen it myself.

p.

---

From: Jon Olson <[email-masked]>
Date: Thu, 4 Feb 1999 08:04:16 -0700

>All information gratefully received.

I've done alot of initial embedded OS debugging (not Linux) of
StrongARMs under the OpenSource version of the ARMulator.
Unfortunately, it doesn't, as shipped, include support for any of the
ARM4 instructions, has a pitifully broken event model for scheduling
events, and intercepts SWIs, revectoring them tor standard Unix
I/O.  In addition, it has little support for hardware emulation so you
have to write your own hardware emulation modules for UARTs
and timers.  For Linux, the ARMulator has no support at all for
the ARM MMU, but it does have pluggable memory models so it's
possible to write one yourself.

Once this is done, it works OK, but really slow.  The code has alot
of excess baggage in counting instruction cycles and emulating pipelines
which is terribly useful when your designing silicon, but just slows an
emulator down when your trying to debug operating system code.

--
Jon Olson, Modular Mining Systems
	   3289 E. Hemisphere Loop
	   Tucson, AZ 85706
INTERNET:  [email-masked]
PHONE:     (520)746-9127
FAX:       (520)889-5790
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Philip Blundell <[email-masked]>
Date: Thu, 04 Feb 1999 17:23:16 +0000

>emulator down when your trying to debug operating system code.

In a sense actually this stuff is good.  For writing OS code it's sometimes 
good to be able to count pipeline stalls, TLB misses and the like.  I agree 
that it would often also be good to be able to turn it off and make the 
emulator run quicker, though.

p.

---

From: Russell King <[email-masked]>
Date: Thu, 4 Feb 1999 18:15:01 +0000 (GMT)

> emulator down when your trying to debug operating system code.

I would really really suggest that you look at Dave Gilbert's modified
ARMulator.  He has spent some time improving it and removing the baggage
for his Archimedes emulation.  It might be a better base to start from.

--
Russell King ([email-masked])

---

From: Tim Lindquist <[email-masked]>
Date: Thu, 11 Feb 1999 11:33:31 +1100

I am attempting to build a linux kernel for the EBSA-285,
which I have running as a PCI slave.

I am building on Solaris. I have patched the 2.1.126 source
tree with the appropriate patches and run the make config
and make dep steps.

I believe I now need some tools. I already have GCC 2.8.1.

Do I need binutils - are these for cross compiling or only
for native systems?

I could not see a 2.9.1.0.15 source at the sites listed on the web
page, though there is a 2.9.1.0.19a.
Since the patch is only for 2.9.1.0.15, where do I get that?

When I have this succesfully built, what target should I be using
so that I can download to the EBSA-285 using Remote_A???

Thanks

---

From: Dave Baukus <[email-masked]>
Date: Wed, 10 Feb 1999 19:14:01 -0600

I can not seem to get login/getty working. Any hints?

I've got linux 2.2.0 booting on an ebsa285 w/ the folowing "features"
	- mounting a root NFS file system. The file system image is titan-II-19990106.
	- The kernel is compiled w/ 
			CONFIG_SERIAL_21285=y
			CONFIG_SERIAL_21285_CONSOLE=y
	- The only way I was able to get the open of /dev/console to work
	was to:
		mknod syscons c 5 1
		ln -s syscons console
	- I replaced the mingetty's in etc/inittab w/ 
		getty.1:12345:respawn:/sbin/getty  ttyS0

I get a login prompt but I can not get the tty to respond.
I've tried various arguments at the end of the getty statement to no avail.

Thanks for any clues.

--
Dave Baukus
	Inet Inc. - R & D
	[email-masked]

---

From: Philip Blundell <[email-masked]>
Date: Thu, 11 Feb 1999 09:29:50 +0000

>Do I need binutils - are these for cross compiling or only

You do indeed need binutils.  Just get the 2.9.1.0.19a source you found; it 
doesn't need any patches.  You might also consider using EGCS rather than gcc 
2.8.1.

p.