Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 665c1ef8 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC]: Fix link errors with gcc-4.3
  sparc64: replace remaining __FUNCTION__ occurances
  sparc: replace remaining __FUNCTION__ occurances
  [SPARC]: Add reboot_command[] extern decl to asm/system.h
  [SPARC]: Mark linux_sparc_{fpu,chips} static.
parents 71ca44da f0e98c38
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
# $Id: Makefile,v 1.62 2000/12/15 00:41:17 davem Exp $
#
# Makefile for the linux kernel.
#

@@ -12,7 +12,8 @@ obj-y := entry.o wof.o wuf.o etrap.o rtrap.o traps.o $(IRQ_OBJS) \
	    sys_sparc.o sunos_asm.o systbls.o \
	    time.o windows.o cpu.o devices.o sclow.o \
	    tadpole.o tick14.o ptrace.o sys_solaris.o \
	    unaligned.o muldiv.o semaphore.o prom.o of_device.o devres.o
	    unaligned.o una_asm.o muldiv.o semaphore.o \
	    prom.o of_device.o devres.o

devres-y = ../../../kernel/irq/devres.o

+2 −2
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ struct cpu_fp_info {
/* In order to get the fpu type correct, you need to take the IDPROM's
 * machine type value into consideration too.  I will fix this.
 */
struct cpu_fp_info linux_sparc_fpu[] = {
static struct cpu_fp_info linux_sparc_fpu[] = {
  { 0, 0, "Fujitsu MB86910 or Weitek WTL1164/5"},
  { 0, 1, "Fujitsu MB86911 or Weitek WTL1164/5 or LSI L64831"},
  { 0, 2, "LSI Logic L64802 or Texas Instruments ACT8847"},
@@ -76,7 +76,7 @@ struct cpu_fp_info linux_sparc_fpu[] = {

#define NSPARCFPU  ARRAY_SIZE(linux_sparc_fpu)

struct cpu_iu_info linux_sparc_chips[] = {
static struct cpu_iu_info linux_sparc_chips[] = {
  /* Sun4/100, 4/200, SLC */
  { 0, 0, "Fujitsu  MB86900/1A or LSI L64831 SparcKIT-40"},
  /* borned STP1012PGA */
+3 −3
Original line number Diff line number Diff line
@@ -101,7 +101,7 @@ void __init fill_ebus_child(struct device_node *dp,
			prom_printf("UGH: property for %s was %d, need < %d\n",
				    dev->prom_node->name, len,
				    dev->parent->num_addrs);
			panic(__FUNCTION__);
			panic(__func__);
		}

		/* XXX resource */
@@ -162,7 +162,7 @@ void __init fill_ebus_device(struct device_node *dp, struct linux_ebus_device *d
		prom_printf("UGH: proplen for %s was %d, need multiple of %d\n",
			    dev->prom_node->name, len,
			    (int)sizeof(struct linux_prom_registers));
		panic(__FUNCTION__);
		panic(__func__);
	}
	dev->num_addrs = len / sizeof(struct linux_prom_registers);

@@ -324,7 +324,7 @@ void __init ebus_init(void)
		regs = of_get_property(dp, "reg", &len);
		if (!regs) {
			prom_printf("%s: can't find reg property\n",
				    __FUNCTION__);
				    __func__);
			prom_halt();
		}
		nreg = len / sizeof(struct linux_prom_pci_registers);
+0 −2
Original line number Diff line number Diff line
@@ -139,8 +139,6 @@ void cpu_idle(void)

#endif

extern char reboot_command [];

/* XXX cli/sti -> local_irq_xxx here, check this works once SMP is fixed. */
void machine_halt(void)
{
+153 −0
Original line number Diff line number Diff line
/* una_asm.S: Kernel unaligned trap assembler helpers.
 *
 * Copyright (C) 1996,2005,2008 David S. Miller (davem@davemloft.net)
 * Copyright (C) 1996,1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
 */

#include <linux/errno.h>

	.text

retl_efault:
	retl
	 mov	-EFAULT, %o0

	/* int __do_int_store(unsigned long *dst_addr, int size,
	 *                    unsigned long *src_val)
	 *
	 * %o0 = dest_addr
	 * %o1 = size
	 * %o2 = src_val
	 *
	 * Return '0' on success, -EFAULT on failure.
	 */
	.globl	__do_int_store
__do_int_store:
	ld	[%o2], %g1
	cmp	%1, 2
	be	2f
	 cmp	%1, 4
	be	1f
	 srl	%g1, 24, %g2
	srl	%g1, 16, %g7
4:	stb	%g2, [%o0]
	srl	%g1, 8, %g2
5:	stb	%g7, [%o0 + 1]
	ld	[%o2 + 4], %g7
6:	stb	%g2, [%o0 + 2]
	srl	%g7, 24, %g2
7:	stb	%g1, [%o0 + 3]
	srl	%g7, 16, %g1
8:	stb	%g2, [%o0 + 4]
	srl	%g7, 8, %g2
9:	stb	%g1, [%o0 + 5]
10:	stb	%g2, [%o0 + 6]
	b	0f
11:	 stb	%g7, [%o0 + 7]
1:	srl	%g1, 16, %g7
12:	stb	%g2, [%o0]
	srl	%g1, 8, %g2
13:	stb	%g7, [%o0 + 1]
14:	stb	%g2, [%o0 + 2]
	b	0f
15:	 stb	%g1, [%o0 + 3]
2:	srl	%g1, 8, %g2
16:	stb	%g2, [%o0]
17:	stb	%g1, [%o0 + 1]
0:	retl
	 mov	0, %o0

	.section __ex_table,#alloc
	.word	4b, retl_efault
	.word	5b, retl_efault
	.word	6b, retl_efault
	.word	7b, retl_efault
	.word	8b, retl_efault
	.word	9b, retl_efault
	.word	10b, retl_efault
	.word	11b, retl_efault
	.word	12b, retl_efault
	.word	13b, retl_efault
	.word	14b, retl_efault
	.word	15b, retl_efault
	.word	16b, retl_efault
	.word	17b, retl_efault
	.previous

	/* int do_int_load(unsigned long *dest_reg, int size,
	 *                 unsigned long *saddr, int is_signed)
	 *
	 * %o0 = dest_reg
	 * %o1 = size
	 * %o2 = saddr
	 * %o3 = is_signed
	 *
	 * Return '0' on success, -EFAULT on failure.
	 */
	.globl	do_int_load
do_int_load:
	cmp	%o1, 8
	be	9f
	 cmp	%o1, 4
	be	6f
4:	 ldub	[%o2], %g1
5:	ldub	[%o2 + 1], %g2
	sll	%g1, 8, %g1
	tst	%o3
	be	3f
	 or	%g1, %g2, %g1
	sll	%g1, 16, %g1
	sra	%g1, 16, %g1
3:	b	0f
	 st	%g1, [%o0]
6:	ldub	[%o2 + 1], %g2
	sll	%g1, 24, %g1
7:	ldub	[%o2 + 2], %g7
	sll	%g2, 16, %g2
8:	ldub	[%o2 + 3], %g3
	sll	%g7, 8, %g7
	or	%g3, %g2, %g3
	or	%g7, %g3, %g7
	or	%g1, %g7, %g1
	b	0f
	 st	%g1, [%o0]
9:	ldub	[%o2], %g1
10:	ldub	[%o2 + 1], %g2
	sll	%g1, 24, %g1
11:	ldub	[%o2 + 2], %g7
	sll	%g2, 16, %g2
12:	ldub	[%o2 + 3], %g3
	sll	%g7, 8, %g7
	or	%g1, %g2, %g1
	or	%g7, %g3, %g7
	or	%g1, %g7, %g7
13:	ldub	[%o2 + 4], %g1
	st	%g7, [%o0]
14:	ldub	[%o2 + 5], %g2
	sll	%g1, 24, %g1
15:	ldub	[%o2 + 6], %g7
	sll	%g2, 16, %g2
16:	ldub	[%o2 + 7], %g3
	sll	%g7, 8, %g7
	or	%g1, %g2, %g1
	or	%g7, %g3, %g7
	or	%g1, %g7, %g7
	st	%g7, [%o0 + 4]
0:	retl
	 mov	0, %o0

	.section __ex_table,#alloc
	.word	4b, retl_efault
	.word	5b, retl_efault
	.word	6b, retl_efault
	.word	7b, retl_efault
	.word	8b, retl_efault
	.word	9b, retl_efault
	.word	10b, retl_efault
	.word	11b, retl_efault
	.word	12b, retl_efault
	.word	13b, retl_efault
	.word	14b, retl_efault
	.word	15b, retl_efault
	.word	16b, retl_efault
	.previous
Loading