linuxppc-dev.lists.ozlabs.org archive mirror
 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]
  -- strict thread matches above, loose matches on Subject: below --
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 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).