Linux Kernel Mailing List | 1 Feb 2005 16:00

[ARM PATCH] 2430/3: TLS support for ARM

ChangeSet 1.1983.1.17, 2005/02/01 15:00:58+00:00, nico <at> org.rmk.(none)

	[ARM PATCH] 2430/3: TLS support for ARM
	
	Patch from Nicolas Pitre
	
	This implements TLS support in the most efficient way for all ARM
	processors in use today.  The trick is to define a specific address in
	kernel area that is made readable from user space to hold the TLS
	pointer so it is highly efficient to retrieve it with no overhead.
	Since the kernel already maps a page at 0xffff0000 to hold the exception
	vectors, we can use the top of that page for storing the TLS ptr at
	0xffff0ffc. This address has the advantage of fitting optimally with the
	ARM load addressing mode as follows:
		mov	rd, #0xffff0fff
		ldr	rd, [rd, #-3]
	Considering load scheduling, this means 2 cycles to retrieve the TLS
	value which is even faster than a coprocessor access.  Even gcc
	generates the above assembly when given:
		void *tls = *((void **)0xffff0ffc);
	This is fine to make the vector page readable from user space since it
	contains nothing that could compromize security and doesn't require an
	extra memory page to be allocated.
	On SMP (which should be ARMv6 and above only) the special reg for
	TLS will be available.  Since ARMv6 binaries are most likely to use
	strex/ldrex insns instead of swp to implement user space atomic
	primitives, those ARMv6 binaries won't execute on pre ARMv6 processors
	anyway.  So the abscence of a tls reg is a non issue for them already.
	Also on SMP targets, since the hivec page can't be relied upon to get
	the TLS value, we'll have the kernel emulate access to it through the
(Continue reading)

Linux Kernel Mailing List | 1 Feb 2005 16:43

[ARM PATCH] 2443/1: enable iWMMXt on EABI binaries

ChangeSet 1.1983.1.18, 2005/02/01 15:43:40+00:00, nico <at> org.rmk.(none)

	[ARM PATCH] 2443/1: enable iWMMXt on EABI binaries
	
	Patch from Nicolas Pitre
	
	It appears that the EF_ARM_SOFT_FLOAT is a reserved bit with the new
	ARM EABI.  Since EABI is said to not support FPA (FPA emulation being
	the reason why we'd want to disable iWMMXt access) we now test for any
	EABI version as well to turn on iWMMXt access.
	
	Signed-off-by: Nicolas Pitre
	Signed-off-by: Russell King

 elf.h |    4 +++-
 1 files changed, 3 insertions(+), 1 deletion(-)

diff -Nru a/include/asm-arm/elf.h b/include/asm-arm/elf.h
--- a/include/asm-arm/elf.h	2005-02-02 10:23:47 -08:00
+++ b/include/asm-arm/elf.h	2005-02-02 10:23:47 -08:00
 <at>  <at>  -17,6 +17,7  <at>  <at> 
 #define EM_ARM	40
 #define EF_ARM_APCS26 0x08
 #define EF_ARM_SOFT_FLOAT 0x200
+#define EF_ARM_EABI_MASK 0xFF000000

 #define R_ARM_NONE	0
 #define R_ARM_PC24	1
 <at>  <at>  -120,7 +121,8  <at>  <at> 
 #define SET_PERSONALITY(ex,ibcs2) \
(Continue reading)

Linux Kernel Mailing List | 1 Feb 2005 13:57

[ARM] Remove adrsvc macro.

ChangeSet 1.1983.1.16, 2005/02/01 12:57:22+00:00, rmk <at> flint.arm.linux.org.uk

	[ARM] Remove adrsvc macro.
	
	The adrsvc macro was used to allow the entry-* files to be built on
	ARM32 and ARM26 processors.  Since we no longer support ARM26 CPUs,
	eliminate this macro.

 entry-armv.S   |   14 +++++++-------
 entry-common.S |    4 ++--
 entry-header.S |    7 -------
 3 files changed, 9 insertions(+), 16 deletions(-)

diff -Nru a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S
--- a/arch/arm/kernel/entry-armv.S	2005-02-02 10:23:20 -08:00
+++ b/arch/arm/kernel/entry-armv.S	2005-02-02 10:23:20 -08:00
 <at>  <at>  -141,7 +141,7  <at>  <at> 
 	 <at> 
 	 <at>  routine called with r0 = irq number, r1 = struct pt_regs *
 	 <at> 
-	adrsvc	ne, lr, 1b
+	adrne	lr, 1b
 	bne	asm_do_IRQ
 #ifdef CONFIG_PREEMPT
 	ldr	r0, [r8, #TI_FLAGS]		 <at>  get flags
 <at>  <at>  -191,7 +191,7  <at>  <at> 
 	 <at>   r0 - instruction
 	 <at> 
 	ldr	r0, [r2, #-4]
-	adrsvc	al, r9, 1f
(Continue reading)

Linux Kernel Mailing List | 1 Feb 2005 01:37

[ARM PATCH] 2428/1: PXA Corgi - Add Backlight Device Definition

ChangeSet 1.1983.1.15, 2005/02/01 00:37:53+00:00, rpurdie <at> net.rmk.(none)

	[ARM PATCH] 2428/1: PXA Corgi - Add Backlight Device Definition
	
	Patch from Richard Purdie
	
	Add a device definition to enable the backlight on the corgi
	machines (Sharp SL-C7xx series).
	[The backlight driver has been submitted to linux-fbdev-devel]
	[Applies after 2426/1]
	
	Signed-off-by: Richard Purdie
	Signed-off-by: Russell King

 corgi.c |   13 +++++++++++++
 1 files changed, 13 insertions(+)

diff -Nru a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c
--- a/arch/arm/mach-pxa/corgi.c	2005-02-02 10:23:07 -08:00
+++ b/arch/arm/mach-pxa/corgi.c	2005-02-02 10:23:07 -08:00
 <at>  <at>  -116,6 +116,18  <at>  <at> 

 
 /*
+ * Corgi Backlight Device
+ */
+static struct platform_device corgibl_device = {
+	.name		= "corgi-bl",
+	.dev		= {
+ 		.parent = &corgifb_device.dev,
(Continue reading)

Linux Kernel Mailing List | 1 Feb 2005 01:19

[ARM PATCH] 2429/1: PXA Corgi - Bugfix + Cleanups

ChangeSet 1.1983.1.14, 2005/02/01 00:19:04+00:00, rpurdie <at> net.rmk.(none)

	[ARM PATCH] 2429/1: PXA Corgi - Bugfix + Cleanups
	
	Patch from Richard Purdie
	
	PXA Corgi - Bugfix + Cleanups:
	* Make sure the MMC timer init is called *before* enabling the
	  interrupt (thanks Nicholas for pointing this out).
	* Add externs for the exported ssp functions
	* Finish commenting Corgi specific GPIOs
	[Applies after 2428/1]
	
	Signed-off-by: Richard Purdie
	Signed-off-by: Russell King

 arch/arm/mach-pxa/corgi.c        |   10 +++-----
 include/asm-arm/arch-pxa/corgi.h |   45 ++++++++++++++++++++++++++-------------
 2 files changed, 34 insertions(+), 21 deletions(-)

diff -Nru a/arch/arm/mach-pxa/corgi.c b/arch/arm/mach-pxa/corgi.c
--- a/arch/arm/mach-pxa/corgi.c	2005-02-02 10:22:53 -08:00
+++ b/arch/arm/mach-pxa/corgi.c	2005-02-02 10:22:53 -08:00
 <at>  <at>  -77,8 +77,6  <at>  <at> 
  * also use scoop functions and this makes the power up/down order
  * work correctly.
  */
-extern void corgi_ssp_lcdtg_send (u8 adrs, u8 data);
-
 static struct platform_device corgissp_device = {
(Continue reading)

Linux Kernel Mailing List | 1 Feb 2005 01:12

[ARM PATCH] 2434/1: Adds new machine: ixp4xx based gtwx5715

ChangeSet 1.1983.1.13, 2005/02/01 00:12:15+00:00, gtj.member <at> com.rmk.(none)

	[ARM PATCH] 2434/1: Adds new machine: ixp4xx based gtwx5715
	
	Patch from George Joseph
	
	Machine number 641 already assigned.
	Changes...
	arch/arm/boot/compressed/head-xscale.S
	arch/arm/mach-ixp4xx/Kconfig
	arch/arm/mach-ixp4xx/Makefile
	include/asm-arm/arch-ixp4xx/uncompress.h
	Adds...
	arch/arm/mach-ixp4xx/gtwx5715-pci.c
	arch/arm/mach-ixp4xx/gtwx5715-setup.c
	include/asm-arm/arch-ixp4xx/gtwx5715.h
	Includes changes requested by Russell King
	
	Signed-off-by: George T Joseph
	Signed-off-by: Deepak Saxena
	Signed-off-by: Russell King

 arch/arm/boot/compressed/head-xscale.S   |    5 +
 arch/arm/mach-ixp4xx/Kconfig             |   18 +++
 arch/arm/mach-ixp4xx/Makefile            |    1 
 arch/arm/mach-ixp4xx/gtwx5715-pci.c      |  101 ++++++++++++++++++++
 arch/arm/mach-ixp4xx/gtwx5715-setup.c    |  153 +++++++++++++++++++++++++++++++
 include/asm-arm/arch-ixp4xx/gtwx5715.h   |  120 ++++++++++++++++++++++++
 include/asm-arm/arch-ixp4xx/uncompress.h |    4 
 7 files changed, 400 insertions(+), 2 deletions(-)
(Continue reading)

Linux Kernel Mailing List | 1 Feb 2005 17:45

SCSI: fix multiple HBA problem with transport classes

ChangeSet 1.1995, 2005/02/01 10:45:55-06:00, jejb <at> titanic.il.steeleye.com

	SCSI: fix multiple HBA problem with transport classes
	
	All of the transport class patches contain a thinko in device matching
	(and, unfortunately, one I exhorted everyone not to make in the generic
	transport class comments): The match matches every container in the
	class instead of the specific container belonging to the HBA.  This
	causes a oops when there are two or more HBAs in the system.
	
	Signed-off-by: James Bottomley <James.Bottomley <at> SteelEye.com>

 scsi_transport_fc.c    |   12 ++++++++++--
 scsi_transport_iscsi.c |   12 ++++++++++--
 scsi_transport_spi.c   |   15 +++++++++++++--
 3 files changed, 33 insertions(+), 6 deletions(-)

diff -Nru a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c
--- a/drivers/scsi/scsi_transport_fc.c	2005-02-02 10:24:02 -08:00
+++ b/drivers/scsi/scsi_transport_fc.c	2005-02-02 10:24:02 -08:00
 <at>  <at>  -728,6 +728,7  <at>  <at> 
 			  struct device *dev)
 {
 	struct Scsi_Host *shost;
+	struct fc_internal *i;

 	if (!scsi_is_host_device(dev))
 		return 0;
 <at>  <at>  -736,13 +737,17  <at>  <at> 
 	if (!shost->transportt  || shost->transportt->host_attrs.class
(Continue reading)

Linux Kernel Mailing List | 1 Feb 2005 17:48

Fix missed class_remove_file in attribute_container

ChangeSet 1.1996, 2005/02/01 10:48:17-06:00, jejb <at> mulgrave.(none)

	Fix missed class_remove_file in attribute_container
	
	This moves attribute addition (and removal) to where it
	should have been in the first place, namely in the
	attribute_container class.
	
	Without this, the transport classes were leaving dangling
	attributes when the devices were removed.
	
	Signed-off-by: James Bottomley <James.Bottomley <at> SteelEye.com>

 drivers/base/attribute_container.c  |  108 +++++++++++++++++++++++++++++++++++-
 drivers/base/transport_class.c      |   25 +-------
 include/linux/attribute_container.h |   12 ++++
 3 files changed, 122 insertions(+), 23 deletions(-)

diff -Nru a/drivers/base/attribute_container.c b/drivers/base/attribute_container.c
--- a/drivers/base/attribute_container.c	2005-02-02 10:24:16 -08:00
+++ b/drivers/base/attribute_container.c	2005-02-02 10:24:16 -08:00
 <at>  <at>  -150,7 +150,7  <at>  <at> 
 		if (fn)
 			fn(cont, dev, &ic->classdev);
 		else
-			class_device_add(&ic->classdev);
+			attribute_container_add_class_device(&ic->classdev);
 		list_add_tail(&ic->node, &cont->containers);
 	}
 	up(&attribute_container_mutex);
(Continue reading)

Linux Kernel Mailing List | 1 Feb 2005 17:48

[PATCH] MAINTAINERS: add entry for qla2xxx driver.

ChangeSet 1.1997, 2005/02/01 10:48:56-06:00, akpm <at> osdl.org

	[PATCH] MAINTAINERS: add entry for qla2xxx driver.
	
	From: Andrew Vasquez <andrew.vasquez <at> qlogic.com>
	
	Add entry for QLogic qla2xxx driver.
	
	Signed-off-by: Andrew Vasquez <andrew.vasquez <at> qlogic.com>
	Signed-off-by: Andrew Morton <akpm <at> osdl.org>
	Signed-off-by: James Bottomley <James.Bottomley <at> SteelEye.com>

 MAINTAINERS |    6 ++++++
 1 files changed, 6 insertions(+)

diff -Nru a/MAINTAINERS b/MAINTAINERS
--- a/MAINTAINERS	2005-02-02 10:24:29 -08:00
+++ b/MAINTAINERS	2005-02-02 10:24:29 -08:00
 <at>  <at>  -1828,6 +1828,12  <at>  <at> 
 L:	linux-arm-kernel <at> lists.arm.linux.org.uk
 S:	Maintained

+QLOGIC QLA2XXX FC-SCSI DRIVER
+P:	Andrew Vasquez
+M:	andrew.vasquez <at> qlogic.com
+L:	linux-scsi <at> vger.kernel.org
+S:	Supported
+
 QNX4 FILESYSTEM
 P:	Anders Larsen
(Continue reading)

Linux Kernel Mailing List | 1 Feb 2005 17:49

[PATCH] fix scsi cdrom problem

ChangeSet 1.1998, 2005/02/01 10:49:37-06:00, dougg <at> torque.net

	[PATCH] fix scsi cdrom problem
	
	I'm not sure what I was thinking in
	scsi_io_completion(). This small reversion
	fixes my k3b problem; tested with a USB external
	burner.
	
	Signed-off-by: Douglas Gilbert <dougg <at> torque.net>
	Signed-off-by: James Bottomley <James.Bottomley <at> SteelEye.com>

 scsi_lib.c |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

diff -Nru a/drivers/scsi/scsi_lib.c b/drivers/scsi/scsi_lib.c
--- a/drivers/scsi/scsi_lib.c	2005-02-02 10:24:42 -08:00
+++ b/drivers/scsi/scsi_lib.c	2005-02-02 10:24:42 -08:00
 <at>  <at>  -692,6 +692,7  <at>  <at> 
 	int this_count = cmd->bufflen;
 	request_queue_t *q = cmd->device->request_queue;
 	struct request *req = cmd->request;
+	int clear_errors = 1;
 	struct scsi_sense_hdr sshdr;
 	int sense_valid = 0;
 	int sense_deferred = 0;
 <at>  <at>  -721,6 +722,7  <at>  <at> 
 	if (blk_pc_request(req)) { /* SG_IO ioctl from block level */
 		req->errors = result;
 		if (result) {
(Continue reading)


Gmane