All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Ungerer <gerg@snapgear.com>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>,
	Miles Bader <miles@gnu.org>,
	linux-kernel@vger.kernel.org,
	David McCullough <davidm@snapgear.com>
Subject: Re: exception tables in 2.5.55
Date: Mon, 13 Jan 2003 13:49:42 +1000	[thread overview]
Message-ID: <3E223756.3010200@snapgear.com> (raw)
In-Reply-To: <Pine.LNX.4.44.0301121921570.24605-100000@home.transmeta.com>

Hi Linus,

Linus Torvalds wrote:
> On Mon, 13 Jan 2003, Greg Ungerer wrote:
> 
>>Tested and working on m68knommu architecture.
> 
> 
> Why does exceptions have anything to do with no-mmu?
> 
> There are exceptions that have nothing to do with MMU's, and a no-mmu 
> architecture should still support them.  On x86, we have a number of such 
> exceptions, for example general protection stuff for wrong values for 
> special registers etc.
> 
> In other words, not applied.

Good thing I was only after comments then :-)


> Page table exceptions are just the most 
> _common_ exception type, but there's absolutely nothing in the mechanism 
> that has anything at all to do with MMU-less.
> 
> If some archtiecture happens to have an empty exception table, that's 
> fine. 

OK, heres an alternative patch that fully supports exception tables
for m68knommu (Miles you'll need to do the same for v850).

This is tested on my ColdFire targets...

Regards
Greg




diff -Naur linux-2.5.56/arch/m68knommu/mm/Makefile 
linux-2.5.56-uc0/arch/m68knommu/mm/Makefile
--- linux-2.5.56/arch/m68knommu/mm/Makefile	Sat Jan 11 06:12:25 2003
+++ linux-2.5.56-uc0/arch/m68knommu/mm/Makefile	Mon Jan 13 13:43:22 2003
@@ -2,4 +2,4 @@
  # Makefile for the linux m68knommu specific parts of the memory manager.
  #

-obj-y += init.o fault.o memory.o kmap.o
+obj-y += init.o fault.o memory.o kmap.o extable.o
diff -Naur linux-2.5.56/arch/m68knommu/mm/extable.c 
linux-2.5.56-uc0/arch/m68knommu/mm/extable.c
--- linux-2.5.56/arch/m68knommu/mm/extable.c	Thu Jan  1 10:00:00 1970
+++ linux-2.5.56-uc0/arch/m68knommu/mm/extable.c	Mon Jan 13 13:43:08 
2003@@ -0,0 +1,30 @@
+/*
+ * linux/arch/m68knommu/mm/extable.c
+ */
+
+#include <linux/config.h>
+#include <linux/module.h>
+#include <linux/spinlock.h>
+#include <asm/uaccess.h>
+
+/* Simple binary search */
+const struct exception_table_entry *
+search_extable(const struct exception_table_entry *first,
+	       const struct exception_table_entry *last,
+	       unsigned long value)
+{
+        while (first <= last) {
+		const struct exception_table_entry *mid;
+		long diff;
+
+		mid = (last - first) / 2 + first;
+		diff = mid->insn - value;
+                if (diff == 0)
+                        return mid;
+                else if (diff < 0)
+                        first = mid+1;
+                else
+                        last = mid-1;
+        }
+        return NULL;
+}

------------------------------------------------------------------------
Greg Ungerer  --  Chief Software Wizard        EMAIL:  gerg@snapgear.com
SnapGear Pty Ltd                               PHONE:    +61 7 3435 2888
825 Stanley St,                                  FAX:    +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia              WEB:   www.SnapGear.com


  reply	other threads:[~2003-01-13  3:41 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-09  6:20 exception tables in 2.5.55 Miles Bader
2003-01-10  8:30 ` Rusty Russell
2003-01-13  3:12   ` Greg Ungerer
2003-01-13  3:24     ` Linus Torvalds
2003-01-13  3:49       ` Greg Ungerer [this message]
2003-01-13  5:21         ` Miles Bader
2003-01-13  5:26         ` Rusty Russell
2003-01-13 21:03           ` Horst von Brand
2003-01-14  8:28             ` Rusty Russell

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=3E223756.3010200@snapgear.com \
    --to=gerg@snapgear.com \
    --cc=davidm@snapgear.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miles@gnu.org \
    --cc=rusty@rustcorp.com.au \
    --cc=torvalds@transmeta.com \
    /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 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.