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

Commit 31079488 authored by Sam Ravnborg's avatar Sam Ravnborg Committed by David S. Miller
Browse files

sparc32,leon: always include leon_smp + leon_mm in build



Fix-up leon specific assembler to use ASI_LEON_MMUREGS

Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
Cc: Daniel Hellstrom <daniel@gaisler.com>
Cc: Konrad Eisele <konrad@gaisler.com>
parent 5561cd26
Loading
Loading
Loading
Loading
+0 −12
Original line number Diff line number Diff line
@@ -254,16 +254,4 @@ extern int leon_ipi_irq;
#define _pfn_valid(pfn)	 ((pfn < last_valid_pfn) && (pfn >= PFN(phys_base)))
#define _SRMMU_PTE_PMASK_LEON 0xffffffff

#ifndef CONFIG_SPARC_LEON

/* nop definitions for !LEON case */
#define leon_switch_mm() do {} while (0)
#define init_leon() do {} while (0)
#define leon_smp_done() do {} while (0)
#define leon_boot_cpus() do {} while (0)
#define leon_boot_one_cpu(i, t) 1
#define leon_init_smp() do {} while (0)

#endif /* !defined(CONFIG_SPARC_LEON) */

#endif
+0 −3
Original line number Diff line number Diff line
@@ -393,7 +393,6 @@ linux_trap_ipi15_sun4d:
	/* FIXME */
1:	b,a	1b

#ifdef CONFIG_SPARC_LEON
	.globl	smpleon_ipi
	.extern leon_ipi_interrupt
	/* SMP per-cpu IPI interrupts are handled specially. */
@@ -424,8 +423,6 @@ linux_trap_ipi15_leon:
	b	ret_trap_lockless_ipi
	 clr	%l6

#endif /* CONFIG_SPARC_LEON */

#endif /* CONFIG_SMP */

	/* This routine handles illegal instructions and privileged
+0 −3
Original line number Diff line number Diff line
@@ -387,11 +387,8 @@ execute_in_high_mem:
#ifdef CONFIG_SMP
		ldub	[%g2 + %lo(boot_cpu_id)], %g1
		cmp	%g1, 0xff		! unset means first CPU
#ifdef CONFIG_SPARC_LEON
		/* XXX Hack to allow build - remove ifdef later */
		bne	leon_smp_cpu_startup	! continue only with master
		 nop
#endif
#endif
		/* Get CPU-ID from most significant 4-bit of ASR17 */
		rd     %asr17, %g1
+0 −4
Original line number Diff line number Diff line
@@ -48,8 +48,6 @@

#include "kernel.h"

#ifdef CONFIG_SPARC_LEON

#include "irq.h"

extern ctxd_t *srmmu_ctx_table_phys;
@@ -507,5 +505,3 @@ void __init leon_init_smp(void)

	sparc32_ipi_ops = &leon_ipi_ops;
}

#endif /* CONFIG_SPARC_LEON */
+1 −5
Original line number Diff line number Diff line
@@ -149,8 +149,6 @@ sun4d_cpu_startup:

	b,a	smp_do_cpu_idle

#ifdef CONFIG_SPARC_LEON

	__CPUINIT
	.align	4
        .global leon_smp_cpu_startup, smp_penguin_ctable
@@ -161,7 +159,7 @@ leon_smp_cpu_startup:
        ld [%g1+4],%g1
        srl %g1,4,%g1
        set 0x00000100,%g5 /* SRMMU_CTXTBL_PTR */
	sta %g1, [%g5] ASI_M_MMUREGS
	sta %g1, [%g5] ASI_LEON_MMUREGS

	/* Set up a sane %psr -- PIL<0xf> S<0x1> PS<0x1> CWP<0x0> */
	set	(PSR_PIL | PSR_S | PSR_PS), %g1
@@ -207,5 +205,3 @@ leon_smp_cpu_startup:
	 nop

	b,a	smp_do_cpu_idle

#endif
Loading