Subject: Release of Kernel source code for 2.0.33 and 2.1.78

From: Russell King <[email-masked]>
Date: Sun, 18 Jan 1998 22:25:37 +0000 (GMT)

Hi all!

I have just finished uploading the source code for kernel versions 2.0.33
and 2.1.78.

2.0.33 has been tested on the EBSA, RiscPC and A5000.  (Dave, can you
try it on the ARC please?)

2.1.78 requires an ELF compiler and binutils.  I will be releasing patches
for binutils 2.8 and gcc 2.7.2.2 shortly for this purpose.  A new copy
of the modutils will be required, as well as a new floating point emulator
module, also to be released shortly.

Any bugs found with these should be emailed to (with all relevent info)
[email-masked].  Any other questions/problems should be emailed to
[email-masked] or the mailing list.
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |         Russell King        [email-masked]       --- ---
  | | | |     http://www.arm.uk.linux.org/~rmk/home.html     /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Matthew Wilcox <[email-masked]>
Date: Mon, 19 Jan 1998 10:07:40 +0000 (GMT)

> try it on the ARC please?)

I've got a gcc pre-2.8 snapshot (think it's december 25th) and binutils
2.8.1.0.15, so I set the CONFIG_NEW_BINUTILS option.  For some reason
in arch/arm/{mm,lib}/Makefile, the test against CONFIG (ifdef) doesn't
work, and it tries to do the old thing.  I replaced it with the test
that's used in arch/arm/Makefile (ifeq y) which works.  I didn't make
clean (otherwise I wouldn't have been able to report this now..) but
after fixing that, proc-arm6,7.S and proc-sa110.S fail to include the
constants.h file - I changed this to #include "../lib/constants.h"
After that it compiled fine.  I haven't tested the resulting kernel, due
to me bodging my startup files (oops).  More reports later..
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Philip Blundell <[email-masked]>
Date: Mon, 19 Jan 1998 15:33:06 +0000

>I've got a gcc pre-2.8 snapshot (think it's december 25th) and binutils

BTW, I sent the config.guess patch to the gcc2 people just now.  I've appended 
a copy of it below in case anybody else is having trouble with gcc-2.8.0 not 
correctly detecting their system type.

p.

Mon Jan 19 15:30:12 1998  Philip Blundell  <[email-masked]>

	* config.guess: Add support for Linux/ARM.

Index: config.guess
===================================================================
RCS file: /usr/repository/gnu/gcc/config.guess,v
retrieving revision 1.3
diff -u -r1.3 config.guess
--- config.guess	1997/11/17 11:57:41	1.3
+++ config.guess	1997/12/01 14:17:11
@@ -493,6 +493,12 @@
 	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
 	exit 0 ;;
     *:Linux:*:*)
+	# uname on the ARM produces all sorts of strangeness, and we need to
+	# filter it out.
+	case "$UNAME_MACHINE" in
+	  arm* | sa110*)	      UNAME_MACHINE="arm" ;;
+	esac
+
 	# The BFD linker knows what the default object file format is, so
 	# first see if it will tell us.
 	ld_help_string=`ld --help 2>&1`
@@ -506,6 +512,7 @@
 	  i?86linux)  echo "${UNAME_MACHINE}-pc-linux-gnuaout"      ; exit 0 ;;
 	  i?86coff)   echo "${UNAME_MACHINE}-pc-linux-gnucoff"      ; exit 0 ;;
 	  sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
+	  armlinux)   echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
 	  m68klinux)  echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
 	  elf32ppc)   echo "powerpc-unknown-linux-gnu"              ; exit 0 ;;
 	esac

---

From: Matthew Wilcox <[email-masked]>
Date: Mon, 19 Jan 1998 18:43:20 +0000 (GMT)

> I have just finished uploading the source code for kernel versions 2.0.33

I compiled ether3 and etherh as modules.  EtherH works no better with my
500 than it did under 2.0.31:

RX packets 0 errors 0 dropped 4318 overruns 0
TX packets 9 errors 0 dropped 0 overruns 0
IRQ 33 Base addr 0x1000 Memory 80001200-d4

Every time I call ifconfig, the number of dropped packets reported
increments by 162, irrespective of how much time I allow to elapse.

But Ether3 is broken:

loading device `eth1'...
eth1: ether3 found at 80000000, IRQ 32 ether address 00:02:07:00:dd:a0
eth1: RAM failed with (00 instead of 5A) at 0x0001-0x0002
eth1: RAM failed with (00 instead of 5A) at 0x0003-0x0004
eth1: RAM failed with (00 instead of 5A) at 0x0005-0x0006
eth1: RAM failed with (00 instead of 5A) at 0x0007-0x0008
eth1: RAM failed with (00 instead of 5A) at 0x0009-0x000A
Initialisation of ether3 failed.

The fact that it's reporting 2-byte values makes me suspicious this may be
a short-load-bytes problem..

I'll try the released gcc 2.8.0 later.
unsubscribe: body of `unsubscribe linux-arm' to [email-masked]

---

From: Russell King <[email-masked]>
Date: Mon, 19 Jan 1998 22:34:46 +0000 (GMT)

> increments by 162, irrespective of how much time I allow to elapse.

I think that this is a hardware bug in the NE2000 clone - the data
sheet for a NE2000 clone (and the 8390.c driver) both say that it's
supposed to clear the counter registers on read, however the etherh
cards do not.

> Initialisation of ether3 failed.

I saw this with 2.1.78 and thought that it was a problem with that until
I found it - the io.h file is broken ;(  I'm amazed that it didn't cause
more problems.

In include/asm/arch-{arc,a5k}/io.h, there is #defined __out*.  The problem
is that the __outw expansion does not shift the value into the upper word
as well as the lower.  I'll get some new patches out tomorrow to fix this
(hopefully during the day if poss).
   _____
  |_____| ------------------------------------------------- ---+---+-
  |   |         Russell King        [email-masked]       --- ---
  | | | |     http://www.arm.uk.linux.org/~rmk/home.html     /  /  |
  | +-+-+                                                     --- -+-
  /   |               THE developer of ARM Linux              |+| /|\
 /  | | |                                                     ---  |
    +-+-+ -------------------------------------------------  /\\\  |