From: Lou Langholtz <ldl@chpc.utah.edu>
To: linuxppc-dev@lists.linuxppc.org, gdt@linuxppc.org, cort@cs.nmt.edu
Subject: linux-2.2.13pre15 stability w/ head.S patch
Date: Thu, 28 Oct 1999 12:06:02 -0600 [thread overview]
Message-ID: <3818908A.8A6539B6@chpc.utah.edu> (raw)
[-- Attachment #1: Type: text/plain, Size: 922 bytes --]
In my quest to figure out how to increase the stability of the kernel
while it's using network communications over PPP links, so far I've
found that the best improvement has been from a patch I applied to the
arch/ppc/kernel/head.S file. I believe this was from changes made by
Cort Dougan. Bless you Cort for my machine doesn't hang nearly as
readily anymore. Unfortunately it does still hang but far less often.
I've attached a diff of the changes I actually applied to my head.S file
so it's clear what changes I'm talking about. What I'd like to know now
is what's the 2.2 Linus kernel release that this actually shows up
in? I think the patch is already in the vger 2.3 branch. It'd sure be
nice if this improvement makes it to the mainstream kernel though.
Anyway, thanks for the great work. Hopefully the kernel PPP network
stability bug can be completely nipped soon. Hopefully the feedback will
help. Cheers ;-)
[-- Attachment #2: head.S.diff --]
[-- Type: text/plain, Size: 1899 bytes --]
--- arch/ppc/kernel/head.S.orig Wed Aug 25 18:29:46 1999
+++ arch/ppc/kernel/head.S Wed Oct 13 10:23:36 1999
@@ -1,7 +1,7 @@
/*
* arch/ppc/kernel/head.S
*
- * $Id: head.S,v 1.130.2.3 1999/08/10 21:36:48 cort Exp $
+ * $Id: head.S,v 1.130.2.6 1999/10/12 21:36:48 cort Exp $
*
* PowerPC version
* Copyright (C) 1995-1996 Gary Thomas (gdt@linuxppc.org)
@@ -112,6 +112,10 @@
/* 601 only have IBAT cr0.eq is set on 601 when using this macro */
#define LOAD_BAT(n, offset, reg, RA, RB) \
+ /* see the comment for clear_bats() -- Cort */ \
+ li RA,0; \
+ mtspr IBAT##n##U,RA; \
+ mtspr DBAT##n##U,RA; \
lwz RA,offset+0(reg); \
lwz RB,offset+4(reg); \
mtspr IBAT##n##U,RA; \
@@ -285,6 +289,14 @@
clrldi r16,r16,63
mtsdr1 r16
#else /* CONFIG_PPC64 */
+ /*
+ * If the MMU is off clear the bats. See clear_bat() -- Cort
+ */
+ mfmsr r20
+ andi. r20,r20,MSR_DR
+ bne 100f
+ bl clear_bats
+100:
/*
* allow secondary cpus to get at all of ram in early bootup
* since their init_task may be up there -- Cort
@@ -1312,7 +1324,6 @@
#else
bnelr-
#endif
-
ori r6,r6,0x100 /* set _PAGE_ACCESSED in pte */
rlwinm r5,r4,5,24,24 /* _PAGE_RW access -> _PAGE_DIRTY */
rlwimi r5,r4,7,22,22 /* _PAGE_RW -> _PAGE_HWWRITE */
@@ -2733,3 +2744,36 @@
.globl cmd_line
cmd_line:
.space 512
+
+/*
+ * An undocumented "feature" of 604e requires that the v bit
+ * be cleared before changing BAT values.
+ *
+ * Also, newer IBM firmware does not clear bat3 and 4 so
+ * this makes sure it's done.
+ * -- Cort
+ */
+clear_bats:
+ li r20,0
+
+ mtspr DBAT0U,r20
+ mtspr DBAT0L,r20
+ mtspr IBAT0U,r20
+ mtspr IBAT0L,r20
+
+ mtspr DBAT1U,r20
+ mtspr DBAT1L,r20
+ mtspr IBAT1U,r20
+ mtspr IBAT1L,r20
+
+ mtspr DBAT2U,r20
+ mtspr DBAT2L,r20
+ mtspr IBAT2U,r20
+ mtspr IBAT2L,r20
+
+ mtspr DBAT3U,r20
+ mtspr DBAT3L,r20
+ mtspr IBAT3U,r20
+ mtspr IBAT3L,r20
+
+ blr
next reply other threads:[~1999-10-28 18:06 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-10-28 18:06 Lou Langholtz [this message]
1999-10-28 17:39 ` linux-2.2.13pre15 stability w/ head.S patch David Edelsohn
1999-10-29 10:34 ` Gabriel Paubert
1999-10-29 18:11 ` David Edelsohn
1999-10-29 3:24 ` Cort Dougan
1999-10-29 18:13 ` Lou Langholtz
1999-10-30 3:58 ` Martin Costabel
1999-10-30 15:07 ` Takashi Oe
1999-10-30 18:36 ` phandel
1999-10-31 20:31 ` Geert Uytterhoeven
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3818908A.8A6539B6@chpc.utah.edu \
--to=ldl@chpc.utah.edu \
--cc=cort@cs.nmt.edu \
--cc=gdt@linuxppc.org \
--cc=linuxppc-dev@lists.linuxppc.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).