All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kumar Gala <galak@kernel.crashing.org>
To: Paul Mackerras <paulus@samba.org>
Cc: linuxppc-dev@ozlabs.org
Subject: Please pull from 'for_paulus' branch
Date: Fri, 8 Dec 2006 02:51:19 -0600 (CST)	[thread overview]
Message-ID: <Pine.LNX.4.64.0612080250380.17483@gate.crashing.org> (raw)

Please pull from 'for_paulus' branch of
master.kernel.org/pub/scm/linux/kernel/git/galak/powerpc.git

to receive the following updates:

  arch/powerpc/Kconfig            |    2 +-
  arch/powerpc/kernel/cputable.c  |    5 ++---
  arch/powerpc/kernel/head_32.S   |    7 +++++++
  arch/powerpc/kernel/of_device.c |    4 +---
  arch/powerpc/kernel/traps.c     |    2 ++
  include/asm-powerpc/cputable.h  |   10 ++++++++--
  6 files changed, 21 insertions(+), 9 deletions(-)

Kim Phillips:
       [POWERPC] Add support for FP emulation for the e300c2 core

Kumar Gala:
       [POWERPC] of_device_register: propagate device_create_file return code
       [POWERPC] Fix 440SPe CPU table entry

diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index 291c95a..0b2d05d 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -706,7 +706,7 @@ config FORCE_MAX_ZONEORDER

  config MATH_EMULATION
  	bool "Math emulation"
-	depends on 4xx || 8xx || E200 || E500
+	depends on 4xx || 8xx || E200 || PPC_83xx || E500
  	---help---
  	  Some PowerPC chips designed for embedded applications do not have
  	  a floating-point unit and therefore do not implement the
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c
index 9d1614c..b742013 100644
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
@@ -833,7 +833,7 @@ #if CLASSIC_PPC
  		.pvr_mask		= 0x7fff0000,
  		.pvr_value		= 0x00840000,
  		.cpu_name		= "e300c2",
-		.cpu_features		= CPU_FTRS_E300,
+		.cpu_features		= CPU_FTRS_E300C2,
  		.cpu_user_features	= PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
  		.icache_bsize		= 32,
  		.dcache_bsize		= 32,
@@ -1136,8 +1136,7 @@ #ifdef CONFIG_44x
  		.pvr_mask		= 0xff000fff,
  		.pvr_value		= 0x53000890,
  		.cpu_name		= "440SPe Rev. A",
-		.cpu_features		= CPU_FTR_SPLIT_ID_CACHE |
-			CPU_FTR_USE_TB,
+		.cpu_features		= CPU_FTRS_44X,
  		.cpu_user_features	= COMMON_USER_BOOKE,
  		.icache_bsize		= 32,
  		.dcache_bsize		= 32,
diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S
index d88e182..9417cf5 100644
--- a/arch/powerpc/kernel/head_32.S
+++ b/arch/powerpc/kernel/head_32.S
@@ -437,6 +437,13 @@ Alignment:
  /* Floating-point unavailable */
  	. = 0x800
  FPUnavailable:
+BEGIN_FTR_SECTION
+/*
+ * Certain Freescale cores don't have a FPU and treat fp instructions
+ * as a FP Unavailable exception.  Redirect to illegal/emulation handling.
+ */
+	b 	ProgramCheck
+END_FTR_SECTION_IFSET(CPU_FTR_FPU_UNAVAILABLE)
  	EXCEPTION_PROLOG
  	bne	load_up_fpu		/* if from user, just load it up */
  	addi	r3,r1,STACK_FRAME_OVERHEAD
diff --git a/arch/powerpc/kernel/of_device.c b/arch/powerpc/kernel/of_device.c
index 8a06724..e921514 100644
--- a/arch/powerpc/kernel/of_device.c
+++ b/arch/powerpc/kernel/of_device.c
@@ -109,9 +109,7 @@ int of_device_register(struct of_device
  	if (rc)
  		return rc;

-	device_create_file(&ofdev->dev, &dev_attr_devspec);
-
-	return 0;
+	return device_create_file(&ofdev->dev, &dev_attr_devspec);
  }

  void of_device_unregister(struct of_device *ofdev)
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
index 0d4e203..fde820e 100644
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
@@ -782,6 +782,8 @@ void __kprobes program_check_exception(s
  	unsigned int reason = get_reason(regs);
  	extern int do_mathemu(struct pt_regs *regs);

+	/* We can now get here via a FP Unavailable exception if the core
+	 * has no FPU, in that case no reason flags will be set */
  #ifdef CONFIG_MATH_EMULATION
  	/* (reason & REASON_ILLEGAL) would be the obvious thing here,
  	 * but there seems to be a hardware bug on the 405GP (RevD)
diff --git a/include/asm-powerpc/cputable.h b/include/asm-powerpc/cputable.h
index 6fe5c9d..aca72f9 100644
--- a/include/asm-powerpc/cputable.h
+++ b/include/asm-powerpc/cputable.h
@@ -126,6 +126,7 @@ #define CPU_FTR_BIG_PHYS		ASM_CONST(0x00
  #define CPU_FTR_NODSISRALIGN		ASM_CONST(0x0000000000100000)
  #define CPU_FTR_PPC_LE			ASM_CONST(0x0000000000200000)
  #define CPU_FTR_REAL_LE			ASM_CONST(0x0000000000400000)
+#define CPU_FTR_FPU_UNAVAILABLE		ASM_CONST(0x0000000000800000)

  /*
   * Add the 64-bit processor unique features in the top half of the word;
@@ -295,6 +296,9 @@ #define CPU_FTRS_G2_LE	(CPU_FTR_SPLIT_ID
  #define CPU_FTRS_E300	(CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | \
  	    CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_HAS_HIGH_BATS | \
  	    CPU_FTR_COMMON)
+#define CPU_FTRS_E300C2	(CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_MAYBE_CAN_DOZE | \
+	    CPU_FTR_USE_TB | CPU_FTR_MAYBE_CAN_NAP | CPU_FTR_HAS_HIGH_BATS | \
+	    CPU_FTR_COMMON | CPU_FTR_FPU_UNAVAILABLE)
  #define CPU_FTRS_CLASSIC32	(CPU_FTR_COMMON | CPU_FTR_SPLIT_ID_CACHE | \
  	    CPU_FTR_USE_TB | CPU_FTR_HPTE_TABLE)
  #define CPU_FTRS_8XX	(CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB)
@@ -364,7 +368,8 @@ #if CLASSIC_PPC
  	    CPU_FTRS_7450_21 | CPU_FTRS_7450_23 | CPU_FTRS_7455_1 |
  	    CPU_FTRS_7455_20 | CPU_FTRS_7455 | CPU_FTRS_7447_10 |
  	    CPU_FTRS_7447 | CPU_FTRS_7447A | CPU_FTRS_82XX |
-	    CPU_FTRS_G2_LE | CPU_FTRS_E300 | CPU_FTRS_CLASSIC32 |
+	    CPU_FTRS_G2_LE | CPU_FTRS_E300 | CPU_FTRS_E300C2 |
+	    CPU_FTRS_CLASSIC32 |
  #else
  	    CPU_FTRS_GENERIC_32 |
  #endif
@@ -403,7 +408,8 @@ #if CLASSIC_PPC
  	    CPU_FTRS_7450_21 & CPU_FTRS_7450_23 & CPU_FTRS_7455_1 &
  	    CPU_FTRS_7455_20 & CPU_FTRS_7455 & CPU_FTRS_7447_10 &
  	    CPU_FTRS_7447 & CPU_FTRS_7447A & CPU_FTRS_82XX &
-	    CPU_FTRS_G2_LE & CPU_FTRS_E300 & CPU_FTRS_CLASSIC32 &
+	    CPU_FTRS_G2_LE & CPU_FTRS_E300 & CPU_FTRS_E300C2 &
+	    CPU_FTRS_CLASSIC32 &
  #else
  	    CPU_FTRS_GENERIC_32 &
  #endif

             reply	other threads:[~2006-12-08  8:51 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-08  8:51 Kumar Gala [this message]
2007-02-07  7:51 Please pull from 'for_paulus' branch Kumar Gala
2007-02-08 21:50 Kumar Gala
2007-02-08 21:52 ` Please pull from 'for_paulus' branch Kumar Gala
2007-02-13 22:16 Kumar Gala
2007-02-17 22:38 Kumar Gala
2007-02-17 22:44 ` Kumar Gala
2007-05-15 22:20 Kumar Gala
2007-05-17 10:49 ` Paul Mackerras
2007-05-17 12:05   ` Segher Boessenkool
2007-05-17 12:58     ` Kumar Gala
2007-05-17 13:00   ` Kumar Gala
2007-05-18  6:15     ` Paul Mackerras
2007-05-18 16:51       ` Kumar Gala
2007-06-29  5:24 Kumar Gala
2007-06-29  6:26 ` Paul Mackerras
2007-06-29  7:04   ` Kumar Gala
2007-06-29  9:15   ` Segher Boessenkool
2007-06-29  9:31     ` Paul Mackerras
2007-06-29  9:51       ` Segher Boessenkool
2007-06-29 13:45   ` Arnd Bergmann
2007-06-29 14:44     ` Kumar Gala
2007-06-29 16:05       ` Arnd Bergmann
2007-06-29 16:09         ` Kumar Gala
2007-06-29 16:10         ` Kumar Gala
2007-06-29 15:22   ` Andreas Schwab
2007-06-30  6:57     ` Paul Mackerras
2007-06-30  8:10       ` Andreas Schwab
2007-06-30  8:14         ` Paul Mackerras
2007-06-30  8:49           ` Andreas Schwab
2007-06-30 10:57       ` Alan Modra
2007-07-10  5:42 Kumar Gala
2007-07-23 21:01 Kumar Gala
2007-07-24  2:56 ` Kumar Gala
2007-07-25  6:43 ` Zang Roy-r61911

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=Pine.LNX.4.64.0612080250380.17483@gate.crashing.org \
    --to=galak@kernel.crashing.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=paulus@samba.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 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.