mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Conflicts: drivers/mtd/mtd_blkdevs.c Merge Grant's device-tree bits so that we can apply the subsequent fixes. Signed-off-by: David Woodhouse <[email protected]>
This commit is contained in:
commit
67577927e8
5688 changed files with 329306 additions and 218414 deletions
|
|
@ -7,6 +7,10 @@ subdir-ccflags-y := -Werror
|
|||
include arch/mips/Kbuild.platforms
|
||||
obj-y := $(platform-y)
|
||||
|
||||
# make clean traverses $(obj-) without having included .config, so
|
||||
# everything ends up here
|
||||
obj- := $(platform-)
|
||||
|
||||
# mips object files
|
||||
# The object files are linked as core-y files would be linked
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ config MIPS
|
|||
select HAVE_KPROBES
|
||||
select HAVE_KRETPROBES
|
||||
select RTC_LIB if !MACH_LOONGSON
|
||||
select GENERIC_ATOMIC64 if !64BIT
|
||||
|
||||
mainmenu "Linux/MIPS Kernel Configuration"
|
||||
|
||||
|
|
@ -880,11 +881,15 @@ config NO_IOPORT
|
|||
config GENERIC_ISA_DMA
|
||||
bool
|
||||
select ZONE_DMA if GENERIC_ISA_DMA_SUPPORT_BROKEN=n
|
||||
select ISA_DMA_API
|
||||
|
||||
config GENERIC_ISA_DMA_SUPPORT_BROKEN
|
||||
bool
|
||||
select GENERIC_ISA_DMA
|
||||
|
||||
config ISA_DMA_API
|
||||
bool
|
||||
|
||||
config GENERIC_GPIO
|
||||
bool
|
||||
|
||||
|
|
@ -1646,8 +1651,16 @@ config MIPS_MT_SMP
|
|||
select SYS_SUPPORTS_SMP
|
||||
select SMP_UP
|
||||
help
|
||||
This is a kernel model which is also known a VSMP or lately
|
||||
has been marketesed into SMVP.
|
||||
This is a kernel model which is known a VSMP but lately has been
|
||||
marketesed into SMVP.
|
||||
Virtual SMP uses the processor's VPEs to implement virtual
|
||||
processors. In currently available configuration of the 34K processor
|
||||
this allows for a dual processor. Both processors will share the same
|
||||
primary caches; each will obtain the half of the TLB for it's own
|
||||
exclusive use. For a layman this model can be described as similar to
|
||||
what Intel calls Hyperthreading.
|
||||
|
||||
For further information see http://www.linux-mips.org/wiki/34K#VSMP
|
||||
|
||||
config MIPS_MT_SMTC
|
||||
bool "SMTC: Use all TCs on all VPEs for SMP"
|
||||
|
|
@ -1664,6 +1677,14 @@ config MIPS_MT_SMTC
|
|||
help
|
||||
This is a kernel model which is known a SMTC or lately has been
|
||||
marketesed into SMVP.
|
||||
is presenting the available TC's of the core as processors to Linux.
|
||||
On currently available 34K processors this means a Linux system will
|
||||
see up to 5 processors. The implementation of the SMTC kernel differs
|
||||
significantly from VSMP and cannot efficiently coexist in the same
|
||||
kernel binary so the choice between VSMP and SMTC is a compile time
|
||||
decision.
|
||||
|
||||
For further information see http://www.linux-mips.org/wiki/34K#SMTC
|
||||
|
||||
endchoice
|
||||
|
||||
|
|
@ -2107,6 +2128,13 @@ config SECCOMP
|
|||
|
||||
If unsure, say Y. Only embedded should say N here.
|
||||
|
||||
config USE_OF
|
||||
bool "Flattened Device Tree support"
|
||||
select OF
|
||||
select OF_FLATTREE
|
||||
help
|
||||
Include support for flattened device tree machine descriptions.
|
||||
|
||||
endmenu
|
||||
|
||||
config LOCKDEP_SUPPORT
|
||||
|
|
@ -2175,10 +2203,14 @@ config TC
|
|||
bool "TURBOchannel support"
|
||||
depends on MACH_DECSTATION
|
||||
help
|
||||
TurboChannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
|
||||
processors. Documentation on writing device drivers for TurboChannel
|
||||
is available at:
|
||||
<http://www.cs.arizona.edu/computer.help/policy/DIGITAL_unix/AA-PS3HD-TET1_html/TITLE.html>.
|
||||
TURBOchannel is a DEC (now Compaq (now HP)) bus for Alpha and MIPS
|
||||
processors. TURBOchannel programming specifications are available
|
||||
at:
|
||||
<ftp://ftp.hp.com/pub/alphaserver/archive/triadd/>
|
||||
and:
|
||||
<http://www.computer-refuge.org/classiccmp/ftp.digital.com/pub/DEC/TriAdd/>
|
||||
Linux driver support status is documented at:
|
||||
<http://www.linux-mips.org/wiki/DECstation>
|
||||
|
||||
#config ACCESSBUS
|
||||
# bool "Access.Bus support"
|
||||
|
|
|
|||
|
|
@ -24,6 +24,33 @@
|
|||
|
||||
#include <prom.h>
|
||||
|
||||
static void alchemy_8250_pm(struct uart_port *port, unsigned int state,
|
||||
unsigned int old_state)
|
||||
{
|
||||
switch (state) {
|
||||
case 0:
|
||||
if ((__raw_readl(port->membase + UART_MOD_CNTRL) & 3) != 3) {
|
||||
/* power-on sequence as suggested in the databooks */
|
||||
__raw_writel(0, port->membase + UART_MOD_CNTRL);
|
||||
wmb();
|
||||
__raw_writel(1, port->membase + UART_MOD_CNTRL);
|
||||
wmb();
|
||||
}
|
||||
__raw_writel(3, port->membase + UART_MOD_CNTRL); /* full on */
|
||||
wmb();
|
||||
serial8250_do_pm(port, state, old_state);
|
||||
break;
|
||||
case 3: /* power off */
|
||||
serial8250_do_pm(port, state, old_state);
|
||||
__raw_writel(0, port->membase + UART_MOD_CNTRL);
|
||||
wmb();
|
||||
break;
|
||||
default:
|
||||
serial8250_do_pm(port, state, old_state);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#define PORT(_base, _irq) \
|
||||
{ \
|
||||
.mapbase = _base, \
|
||||
|
|
@ -33,6 +60,7 @@
|
|||
.flags = UPF_SKIP_TEST | UPF_IOREMAP | \
|
||||
UPF_FIXED_TYPE, \
|
||||
.type = PORT_16550A, \
|
||||
.pm = alchemy_8250_pm, \
|
||||
}
|
||||
|
||||
static struct plat_serial8250_port au1x00_uart_data[] = {
|
||||
|
|
|
|||
|
|
@ -49,11 +49,6 @@
|
|||
* We only have to save/restore registers that aren't otherwise
|
||||
* done as part of a driver pm_* function.
|
||||
*/
|
||||
static unsigned int sleep_uart0_inten;
|
||||
static unsigned int sleep_uart0_fifoctl;
|
||||
static unsigned int sleep_uart0_linectl;
|
||||
static unsigned int sleep_uart0_clkdiv;
|
||||
static unsigned int sleep_uart0_enable;
|
||||
static unsigned int sleep_usb[2];
|
||||
static unsigned int sleep_sys_clocks[5];
|
||||
static unsigned int sleep_sys_pinfunc;
|
||||
|
|
@ -62,22 +57,6 @@ static unsigned int sleep_static_memctlr[4][3];
|
|||
|
||||
static void save_core_regs(void)
|
||||
{
|
||||
extern void save_au1xxx_intctl(void);
|
||||
extern void pm_eth0_shutdown(void);
|
||||
|
||||
/*
|
||||
* Do the serial ports.....these really should be a pm_*
|
||||
* registered function by the driver......but of course the
|
||||
* standard serial driver doesn't understand our Au1xxx
|
||||
* unique registers.
|
||||
*/
|
||||
sleep_uart0_inten = au_readl(UART0_ADDR + UART_IER);
|
||||
sleep_uart0_fifoctl = au_readl(UART0_ADDR + UART_FCR);
|
||||
sleep_uart0_linectl = au_readl(UART0_ADDR + UART_LCR);
|
||||
sleep_uart0_clkdiv = au_readl(UART0_ADDR + UART_CLK);
|
||||
sleep_uart0_enable = au_readl(UART0_ADDR + UART_MOD_CNTRL);
|
||||
au_sync();
|
||||
|
||||
#ifndef CONFIG_SOC_AU1200
|
||||
/* Shutdown USB host/device. */
|
||||
sleep_usb[0] = au_readl(USB_HOST_CONFIG);
|
||||
|
|
@ -175,20 +154,6 @@ static void restore_core_regs(void)
|
|||
au_writel(sleep_static_memctlr[3][0], MEM_STCFG3);
|
||||
au_writel(sleep_static_memctlr[3][1], MEM_STTIME3);
|
||||
au_writel(sleep_static_memctlr[3][2], MEM_STADDR3);
|
||||
|
||||
/*
|
||||
* Enable the UART if it was enabled before sleep.
|
||||
* I guess I should define module control bits........
|
||||
*/
|
||||
if (sleep_uart0_enable & 0x02) {
|
||||
au_writel(0, UART0_ADDR + UART_MOD_CNTRL); au_sync();
|
||||
au_writel(1, UART0_ADDR + UART_MOD_CNTRL); au_sync();
|
||||
au_writel(3, UART0_ADDR + UART_MOD_CNTRL); au_sync();
|
||||
au_writel(sleep_uart0_inten, UART0_ADDR + UART_IER); au_sync();
|
||||
au_writel(sleep_uart0_fifoctl, UART0_ADDR + UART_FCR); au_sync();
|
||||
au_writel(sleep_uart0_linectl, UART0_ADDR + UART_LCR); au_sync();
|
||||
au_writel(sleep_uart0_clkdiv, UART0_ADDR + UART_CLK); au_sync();
|
||||
}
|
||||
}
|
||||
|
||||
void au_sleep(void)
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ int prom_argc;
|
|||
char **prom_argv;
|
||||
char **prom_envp;
|
||||
|
||||
void prom_init_cmdline(void)
|
||||
void __init prom_init_cmdline(void)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
|
@ -104,7 +104,7 @@ static inline void str2eaddr(unsigned char *ea, unsigned char *str)
|
|||
}
|
||||
}
|
||||
|
||||
int prom_get_ethernet_addr(char *ethernet_addr)
|
||||
int __init prom_get_ethernet_addr(char *ethernet_addr)
|
||||
{
|
||||
char *ethaddr_str;
|
||||
|
||||
|
|
@ -123,7 +123,6 @@ int prom_get_ethernet_addr(char *ethernet_addr)
|
|||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL(prom_get_ethernet_addr);
|
||||
|
||||
void __init prom_free_prom_memory(void)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#include <linux/interrupt.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/irq.h>
|
||||
#include <asm/addrspace.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/mach-db1x00/bcsr.h>
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/irq_cpu.h>
|
||||
#include <asm/mipsregs.h>
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/irq.h>
|
||||
#include <asm/irq_cpu.h>
|
||||
#include <asm/mipsregs.h>
|
||||
#include <bcm63xx_cpu.h>
|
||||
|
|
|
|||
|
|
@ -59,7 +59,7 @@ $(obj)/piggy.o: $(obj)/dummy.o $(obj)/vmlinux.bin.z FORCE
|
|||
hostprogs-y := calc_vmlinuz_load_addr
|
||||
|
||||
VMLINUZ_LOAD_ADDRESS = $(shell $(obj)/calc_vmlinuz_load_addr \
|
||||
$(objtree)/$(KBUILD_IMAGE) $(VMLINUX_LOAD_ADDRESS))
|
||||
$(obj)/vmlinux.bin $(VMLINUX_LOAD_ADDRESS))
|
||||
|
||||
vmlinuzobjs-y += $(obj)/piggy.o
|
||||
|
||||
|
|
@ -105,4 +105,4 @@ OBJCOPYFLAGS_vmlinuz.srec := $(OBJCOPYFLAGS) -S -O srec
|
|||
vmlinuz.srec: vmlinuz
|
||||
$(call cmd,objcopy)
|
||||
|
||||
clean-files := $(objtree)/vmlinuz.*
|
||||
clean-files := $(objtree)/vmlinuz $(objtree)/vmlinuz.{32,ecoff,bin,srec}
|
||||
|
|
|
|||
|
|
@ -83,3 +83,7 @@ config ARCH_SPARSEMEM_ENABLE
|
|||
def_bool y
|
||||
select SPARSEMEM_STATIC
|
||||
depends on CPU_CAVIUM_OCTEON
|
||||
|
||||
config CAVIUM_OCTEON_HELPER
|
||||
def_bool y
|
||||
depends on OCTEON_ETHERNET || PCI
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ static int cnmips_cu2_call(struct notifier_block *nfb, unsigned long action,
|
|||
return NOTIFY_OK; /* Let default notifier send signals */
|
||||
}
|
||||
|
||||
static int cnmips_cu2_setup(void)
|
||||
static int __init cnmips_cu2_setup(void)
|
||||
{
|
||||
return cu2_notifier(cnmips_cu2_call, 0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,4 +11,4 @@
|
|||
|
||||
obj-y += cvmx-bootmem.o cvmx-l2c.o cvmx-sysinfo.o octeon-model.o
|
||||
|
||||
obj-$(CONFIG_PCI) += cvmx-helper-errata.o cvmx-helper-jtag.o
|
||||
obj-$(CONFIG_CAVIUM_OCTEON_HELPER) += cvmx-helper-errata.o cvmx-helper-jtag.o
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
#include <linux/serial_8250.h>
|
||||
#include <linux/serial_reg.h>
|
||||
#include <linux/tty.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/time.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# DECstation family
|
||||
#
|
||||
platform-$(CONFIG_MACH_DECSTATION) = dec/
|
||||
platform-$(CONFIG_MACH_DECSTATION) += dec/
|
||||
cflags-$(CONFIG_MACH_DECSTATION) += \
|
||||
-I$(srctree)/arch/mips/include/asm/mach-dec
|
||||
libs-$(CONFIG_MACH_DECSTATION) += arch/mips/dec/prom/
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
#include <linux/spinlock.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/pm.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/bootinfo.h>
|
||||
#include <asm/cpu.h>
|
||||
|
|
|
|||
|
|
@ -782,6 +782,10 @@ static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u)
|
|||
*/
|
||||
#define atomic64_add_negative(i, v) (atomic64_add_return(i, (v)) < 0)
|
||||
|
||||
#else /* !CONFIG_64BIT */
|
||||
|
||||
#include <asm-generic/atomic64.h>
|
||||
|
||||
#endif /* CONFIG_64BIT */
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ extern int cu2_notifier_call_chain(unsigned long val, void *v);
|
|||
|
||||
#define cu2_notifier(fn, pri) \
|
||||
({ \
|
||||
static struct notifier_block fn##_nb __cpuinitdata = { \
|
||||
static struct notifier_block fn##_nb = { \
|
||||
.notifier_call = fn, \
|
||||
.priority = pri \
|
||||
}; \
|
||||
|
|
|
|||
|
|
@ -56,6 +56,7 @@
|
|||
*/
|
||||
|
||||
#ifdef CONFIG_32BIT
|
||||
#include <linux/types.h>
|
||||
|
||||
struct flock {
|
||||
short l_type;
|
||||
|
|
|
|||
|
|
@ -321,6 +321,7 @@ struct gic_intrmask_regs {
|
|||
*/
|
||||
struct gic_intr_map {
|
||||
unsigned int cpunum; /* Directed to this CPU */
|
||||
#define GIC_UNUSED 0xdead /* Dummy data */
|
||||
unsigned int pin; /* Directed to this Pin */
|
||||
unsigned int polarity; /* Polarity : +/- */
|
||||
unsigned int trigtype; /* Trigger : Edge/Levl */
|
||||
|
|
|
|||
|
|
@ -16,6 +16,11 @@
|
|||
|
||||
#include <irq.h>
|
||||
|
||||
static inline void irq_dispose_mapping(unsigned int virq)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_I8259
|
||||
static inline int irq_canonicalize(int irq)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
#include <asm/hazards.h>
|
||||
|
||||
__asm__(
|
||||
" .macro raw_local_irq_enable \n"
|
||||
" .macro arch_local_irq_enable \n"
|
||||
" .set push \n"
|
||||
" .set reorder \n"
|
||||
" .set noat \n"
|
||||
|
|
@ -40,7 +40,7 @@ __asm__(
|
|||
|
||||
extern void smtc_ipi_replay(void);
|
||||
|
||||
static inline void raw_local_irq_enable(void)
|
||||
static inline void arch_local_irq_enable(void)
|
||||
{
|
||||
#ifdef CONFIG_MIPS_MT_SMTC
|
||||
/*
|
||||
|
|
@ -50,7 +50,7 @@ static inline void raw_local_irq_enable(void)
|
|||
smtc_ipi_replay();
|
||||
#endif
|
||||
__asm__ __volatile__(
|
||||
"raw_local_irq_enable"
|
||||
"arch_local_irq_enable"
|
||||
: /* no outputs */
|
||||
: /* no inputs */
|
||||
: "memory");
|
||||
|
|
@ -76,7 +76,7 @@ static inline void raw_local_irq_enable(void)
|
|||
* Workaround: mask EXL bit of the result or place a nop before mfc0.
|
||||
*/
|
||||
__asm__(
|
||||
" .macro raw_local_irq_disable\n"
|
||||
" .macro arch_local_irq_disable\n"
|
||||
" .set push \n"
|
||||
" .set noat \n"
|
||||
#ifdef CONFIG_MIPS_MT_SMTC
|
||||
|
|
@ -97,17 +97,17 @@ __asm__(
|
|||
" .set pop \n"
|
||||
" .endm \n");
|
||||
|
||||
static inline void raw_local_irq_disable(void)
|
||||
static inline void arch_local_irq_disable(void)
|
||||
{
|
||||
__asm__ __volatile__(
|
||||
"raw_local_irq_disable"
|
||||
"arch_local_irq_disable"
|
||||
: /* no outputs */
|
||||
: /* no inputs */
|
||||
: "memory");
|
||||
}
|
||||
|
||||
__asm__(
|
||||
" .macro raw_local_save_flags flags \n"
|
||||
" .macro arch_local_save_flags flags \n"
|
||||
" .set push \n"
|
||||
" .set reorder \n"
|
||||
#ifdef CONFIG_MIPS_MT_SMTC
|
||||
|
|
@ -118,13 +118,15 @@ __asm__(
|
|||
" .set pop \n"
|
||||
" .endm \n");
|
||||
|
||||
#define raw_local_save_flags(x) \
|
||||
__asm__ __volatile__( \
|
||||
"raw_local_save_flags %0" \
|
||||
: "=r" (x))
|
||||
static inline unsigned long arch_local_save_flags(void)
|
||||
{
|
||||
unsigned long flags;
|
||||
asm volatile("arch_local_save_flags %0" : "=r" (flags));
|
||||
return flags;
|
||||
}
|
||||
|
||||
__asm__(
|
||||
" .macro raw_local_irq_save result \n"
|
||||
" .macro arch_local_irq_save result \n"
|
||||
" .set push \n"
|
||||
" .set reorder \n"
|
||||
" .set noat \n"
|
||||
|
|
@ -148,15 +150,18 @@ __asm__(
|
|||
" .set pop \n"
|
||||
" .endm \n");
|
||||
|
||||
#define raw_local_irq_save(x) \
|
||||
__asm__ __volatile__( \
|
||||
"raw_local_irq_save\t%0" \
|
||||
: "=r" (x) \
|
||||
: /* no inputs */ \
|
||||
: "memory")
|
||||
static inline unsigned long arch_local_irq_save(void)
|
||||
{
|
||||
unsigned long flags;
|
||||
asm volatile("arch_local_irq_save\t%0"
|
||||
: "=r" (flags)
|
||||
: /* no inputs */
|
||||
: "memory");
|
||||
return flags;
|
||||
}
|
||||
|
||||
__asm__(
|
||||
" .macro raw_local_irq_restore flags \n"
|
||||
" .macro arch_local_irq_restore flags \n"
|
||||
" .set push \n"
|
||||
" .set noreorder \n"
|
||||
" .set noat \n"
|
||||
|
|
@ -196,7 +201,7 @@ __asm__(
|
|||
" .endm \n");
|
||||
|
||||
|
||||
static inline void raw_local_irq_restore(unsigned long flags)
|
||||
static inline void arch_local_irq_restore(unsigned long flags)
|
||||
{
|
||||
unsigned long __tmp1;
|
||||
|
||||
|
|
@ -211,24 +216,24 @@ static inline void raw_local_irq_restore(unsigned long flags)
|
|||
#endif
|
||||
|
||||
__asm__ __volatile__(
|
||||
"raw_local_irq_restore\t%0"
|
||||
"arch_local_irq_restore\t%0"
|
||||
: "=r" (__tmp1)
|
||||
: "0" (flags)
|
||||
: "memory");
|
||||
}
|
||||
|
||||
static inline void __raw_local_irq_restore(unsigned long flags)
|
||||
static inline void __arch_local_irq_restore(unsigned long flags)
|
||||
{
|
||||
unsigned long __tmp1;
|
||||
|
||||
__asm__ __volatile__(
|
||||
"raw_local_irq_restore\t%0"
|
||||
"arch_local_irq_restore\t%0"
|
||||
: "=r" (__tmp1)
|
||||
: "0" (flags)
|
||||
: "memory");
|
||||
}
|
||||
|
||||
static inline int raw_irqs_disabled_flags(unsigned long flags)
|
||||
static inline int arch_irqs_disabled_flags(unsigned long flags)
|
||||
{
|
||||
#ifdef CONFIG_MIPS_MT_SMTC
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
|
||||
#include <linux/io.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
/* loongson internal northbridge initialization */
|
||||
extern void bonito_irq_init(void);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#ifndef __ASM_MACH_TX49XX_KMALLOC_H
|
||||
#define __ASM_MACH_TX49XX_KMALLOC_H
|
||||
|
||||
#define ARCH_KMALLOC_MINALIGN L1_CACHE_BYTES
|
||||
#define ARCH_DMA_MINALIGN L1_CACHE_BYTES
|
||||
|
||||
#endif /* __ASM_MACH_TX49XX_KMALLOC_H */
|
||||
|
|
|
|||
|
|
@ -88,9 +88,6 @@
|
|||
|
||||
#define GIC_EXT_INTR(x) x
|
||||
|
||||
/* Dummy data */
|
||||
#define X 0xdead
|
||||
|
||||
/* External Interrupts used for IPI */
|
||||
#define GIC_IPI_EXT_INTR_RESCHED_VPE0 16
|
||||
#define GIC_IPI_EXT_INTR_CALLFNC_VPE0 17
|
||||
|
|
|
|||
|
|
@ -150,6 +150,20 @@ typedef struct { unsigned long pgprot; } pgprot_t;
|
|||
((unsigned long)(x) - PAGE_OFFSET + PHYS_OFFSET)
|
||||
#endif
|
||||
#define __va(x) ((void *)((unsigned long)(x) + PAGE_OFFSET - PHYS_OFFSET))
|
||||
|
||||
/*
|
||||
* RELOC_HIDE was originally added by 6007b903dfe5f1d13e0c711ac2894bdd4a61b1ad
|
||||
* (lmo) rsp. 8431fd094d625b94d364fe393076ccef88e6ce18 (kernel.org). The
|
||||
* discussion can be found in lkml posting
|
||||
* <a2ebde260608230500o3407b108hc03debb9da6e62c@mail.gmail.com> which is
|
||||
* archived at http://lists.linuxcoding.com/kernel/2006-q3/msg17360.html
|
||||
*
|
||||
* It is unclear if the misscompilations mentioned in
|
||||
* http://lkml.org/lkml/2010/8/8/138 also affect MIPS so we keep this one
|
||||
* until GCC 3.x has been retired before we can apply
|
||||
* https://patchwork.linux-mips.org/patch/1541/
|
||||
*/
|
||||
|
||||
#define __pa_symbol(x) __pa(RELOC_HIDE((unsigned long)(x), 0))
|
||||
|
||||
#define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT)
|
||||
|
|
|
|||
31
arch/mips/include/asm/prom.h
Normal file
31
arch/mips/include/asm/prom.h
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
* arch/mips/include/asm/prom.h
|
||||
*
|
||||
* Copyright (C) 2010 Cisco Systems Inc. <dediao@cisco.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
*/
|
||||
#ifndef __ASM_MIPS_PROM_H
|
||||
#define __ASM_MIPS_PROM_H
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
#include <asm/bootinfo.h>
|
||||
|
||||
/* which is compatible with the flattened device tree (FDT) */
|
||||
#define cmd_line arcs_cmdline
|
||||
|
||||
extern int early_init_dt_scan_memory_arch(unsigned long node,
|
||||
const char *uname, int depth, void *data);
|
||||
|
||||
extern int reserve_mem_mach(unsigned long addr, unsigned long size);
|
||||
extern void free_mem_mach(unsigned long addr, unsigned long size);
|
||||
|
||||
extern void device_tree_init(void);
|
||||
#else /* CONFIG_OF */
|
||||
static inline void device_tree_init(void) { }
|
||||
#endif /* CONFIG_OF */
|
||||
|
||||
#endif /* _ASM_MIPS_PROM_H */
|
||||
|
|
@ -88,6 +88,7 @@ typedef struct siginfo {
|
|||
#ifdef __ARCH_SI_TRAPNO
|
||||
int _trapno; /* TRAP # which caused the signal */
|
||||
#endif
|
||||
short _addr_lsb;
|
||||
} _sigfault;
|
||||
|
||||
/* SIGPOLL, SIGXFSZ (To do ...) */
|
||||
|
|
|
|||
|
|
@ -146,7 +146,8 @@ register struct thread_info *__current_thread_info __asm__("$28");
|
|||
#define _TIF_LOAD_WATCH (1<<TIF_LOAD_WATCH)
|
||||
|
||||
/* work to do on interrupt/exception return */
|
||||
#define _TIF_WORK_MASK (0x0000ffef & ~_TIF_SECCOMP)
|
||||
#define _TIF_WORK_MASK (0x0000ffef & \
|
||||
~(_TIF_SECCOMP | _TIF_SYSCALL_AUDIT))
|
||||
/* work to do on any return to u-space */
|
||||
#define _TIF_ALLWORK_MASK (0x8000ffff & ~_TIF_SECCOMP)
|
||||
|
||||
|
|
|
|||
|
|
@ -356,16 +356,19 @@
|
|||
#define __NR_perf_event_open (__NR_Linux + 333)
|
||||
#define __NR_accept4 (__NR_Linux + 334)
|
||||
#define __NR_recvmmsg (__NR_Linux + 335)
|
||||
#define __NR_fanotify_init (__NR_Linux + 336)
|
||||
#define __NR_fanotify_mark (__NR_Linux + 337)
|
||||
#define __NR_prlimit64 (__NR_Linux + 338)
|
||||
|
||||
/*
|
||||
* Offset of the last Linux o32 flavoured syscall
|
||||
*/
|
||||
#define __NR_Linux_syscalls 335
|
||||
#define __NR_Linux_syscalls 338
|
||||
|
||||
#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
|
||||
|
||||
#define __NR_O32_Linux 4000
|
||||
#define __NR_O32_Linux_syscalls 335
|
||||
#define __NR_O32_Linux_syscalls 338
|
||||
|
||||
#if _MIPS_SIM == _MIPS_SIM_ABI64
|
||||
|
||||
|
|
@ -668,16 +671,19 @@
|
|||
#define __NR_perf_event_open (__NR_Linux + 292)
|
||||
#define __NR_accept4 (__NR_Linux + 293)
|
||||
#define __NR_recvmmsg (__NR_Linux + 294)
|
||||
#define __NR_fanotify_init (__NR_Linux + 295)
|
||||
#define __NR_fanotify_mark (__NR_Linux + 296)
|
||||
#define __NR_prlimit64 (__NR_Linux + 297)
|
||||
|
||||
/*
|
||||
* Offset of the last Linux 64-bit flavoured syscall
|
||||
*/
|
||||
#define __NR_Linux_syscalls 294
|
||||
#define __NR_Linux_syscalls 297
|
||||
|
||||
#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
|
||||
|
||||
#define __NR_64_Linux 5000
|
||||
#define __NR_64_Linux_syscalls 294
|
||||
#define __NR_64_Linux_syscalls 297
|
||||
|
||||
#if _MIPS_SIM == _MIPS_SIM_NABI32
|
||||
|
||||
|
|
@ -985,16 +991,19 @@
|
|||
#define __NR_accept4 (__NR_Linux + 297)
|
||||
#define __NR_recvmmsg (__NR_Linux + 298)
|
||||
#define __NR_getdents64 (__NR_Linux + 299)
|
||||
#define __NR_fanotify_init (__NR_Linux + 300)
|
||||
#define __NR_fanotify_mark (__NR_Linux + 301)
|
||||
#define __NR_prlimit64 (__NR_Linux + 302)
|
||||
|
||||
/*
|
||||
* Offset of the last N32 flavoured syscall
|
||||
*/
|
||||
#define __NR_Linux_syscalls 299
|
||||
#define __NR_Linux_syscalls 302
|
||||
|
||||
#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
|
||||
|
||||
#define __NR_N32_Linux 6000
|
||||
#define __NR_N32_Linux_syscalls 299
|
||||
#define __NR_N32_Linux_syscalls 302
|
||||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/irq_cpu.h>
|
||||
#include <asm/i8253.h>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
core-$(CONFIG_MACH_JZ4740) += arch/mips/jz4740/
|
||||
platform-$(CONFIG_MACH_JZ4740) += jz4740/
|
||||
cflags-$(CONFIG_MACH_JZ4740) += -I$(srctree)/arch/mips/include/asm/mach-jz4740
|
||||
load-$(CONFIG_MACH_JZ4740) += 0xffffffff80010000
|
||||
|
|
|
|||
|
|
@ -96,6 +96,8 @@ obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o
|
|||
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
|
||||
obj-$(CONFIG_SPINLOCK_TEST) += spinlock_test.o
|
||||
|
||||
obj-$(CONFIG_OF) += prom.o
|
||||
|
||||
CFLAGS_cpu-bugs64.o = $(shell if $(CC) $(KBUILD_CFLAGS) -Wa,-mdaddi -c -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi)
|
||||
|
||||
obj-$(CONFIG_HAVE_STD_PC_SERIAL_PORT) += 8250-platform.o
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@ int __compute_return_epc(struct pt_regs *regs)
|
|||
return -EFAULT;
|
||||
}
|
||||
|
||||
regs->regs[0] = 0;
|
||||
switch (insn.i_format.opcode) {
|
||||
/*
|
||||
* jr and jalr are in r_format format.
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#include <linux/interrupt.h>
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/addrspace.h>
|
||||
#include <asm/io.h>
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/mc146818rtc.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/time.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/gt64120.h>
|
||||
#include <asm/time.h>
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#include <linux/interrupt.h>
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/smtc_ipi.h>
|
||||
#include <asm/time.h>
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
*/
|
||||
#include <linux/clockchips.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/smp.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include <linux/interrupt.h>
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/smtc_ipi.h>
|
||||
#include <asm/time.h>
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
*/
|
||||
#include <linux/init.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/irq.h>
|
||||
#include <asm/time.h>
|
||||
#include <asm/txx9tmr.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
#include <linux/module.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/delay.h>
|
||||
#include <asm/i8253.h>
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/i8259.h>
|
||||
#include <asm/io.h>
|
||||
|
|
|
|||
|
|
@ -3,12 +3,11 @@
|
|||
#include <linux/bitmap.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/gic.h>
|
||||
#include <asm/gcmpregs.h>
|
||||
#include <asm/mips-boards/maltaint.h>
|
||||
#include <asm/irq.h>
|
||||
#include <linux/hardirq.h>
|
||||
#include <asm-generic/bitops/find.h>
|
||||
|
||||
|
|
@ -131,7 +130,7 @@ static int gic_set_affinity(unsigned int irq, const struct cpumask *cpumask)
|
|||
int i;
|
||||
|
||||
irq -= _irqbase;
|
||||
pr_debug(KERN_DEBUG "%s(%d) called\n", __func__, irq);
|
||||
pr_debug("%s(%d) called\n", __func__, irq);
|
||||
cpumask_and(&tmp, cpumask, cpu_online_mask);
|
||||
if (cpus_empty(tmp))
|
||||
return -1;
|
||||
|
|
@ -222,7 +221,7 @@ static void __init gic_basic_init(int numintrs, int numvpes,
|
|||
/* Setup specifics */
|
||||
for (i = 0; i < mapsize; i++) {
|
||||
cpu = intrmap[i].cpunum;
|
||||
if (cpu == X)
|
||||
if (cpu == GIC_UNUSED)
|
||||
continue;
|
||||
if (cpu == 0 && i != 0 && intrmap[i].flags == 0)
|
||||
continue;
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
*/
|
||||
#include <linux/init.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/kernel.h>
|
||||
|
||||
#include <asm/irq_cpu.h>
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
*/
|
||||
#include <linux/init.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/irq_cpu.h>
|
||||
#include <asm/mipsregs.h>
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/irq.h>
|
||||
#include <asm/txx9irq.h>
|
||||
|
||||
struct txx9_irc_reg {
|
||||
|
|
|
|||
|
|
@ -283,7 +283,7 @@ static int kgdb_mips_notify(struct notifier_block *self, unsigned long cmd,
|
|||
struct pt_regs *regs = args->regs;
|
||||
int trap = (regs->cp0_cause & 0x7c) >> 2;
|
||||
|
||||
/* Userpace events, ignore. */
|
||||
/* Userspace events, ignore. */
|
||||
if (user_mode(regs))
|
||||
return NOTIFY_DONE;
|
||||
|
||||
|
|
|
|||
|
|
@ -251,7 +251,7 @@ void sp_work_handle_request(void)
|
|||
memset(&tz, 0, sizeof(tz));
|
||||
if ((ret.retval = sp_syscall(__NR_gettimeofday, (int)&tv,
|
||||
(int)&tz, 0, 0)) == 0)
|
||||
ret.retval = tv.tv_sec;
|
||||
ret.retval = tv.tv_sec;
|
||||
break;
|
||||
|
||||
case MTSP_SYSCALL_EXIT:
|
||||
|
|
|
|||
|
|
@ -341,3 +341,10 @@ asmlinkage long sys32_lookup_dcookie(u32 a0, u32 a1, char __user *buf,
|
|||
{
|
||||
return sys_lookup_dcookie(merge_64(a0, a1), buf, len);
|
||||
}
|
||||
|
||||
SYSCALL_DEFINE6(32_fanotify_mark, int, fanotify_fd, unsigned int, flags,
|
||||
u64, a3, u64, a4, int, dfd, const char __user *, pathname)
|
||||
{
|
||||
return sys_fanotify_mark(fanotify_fd, flags, merge_64(a3, a4),
|
||||
dfd, pathname);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len,
|
|||
if (!check_same_owner(p) && !capable(CAP_SYS_NICE))
|
||||
goto out_unlock;
|
||||
|
||||
retval = security_task_setscheduler(p, 0, NULL);
|
||||
retval = security_task_setscheduler(p);
|
||||
if (retval)
|
||||
goto out_unlock;
|
||||
|
||||
|
|
|
|||
112
arch/mips/kernel/prom.c
Normal file
112
arch/mips/kernel/prom.c
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
/*
|
||||
* MIPS support for CONFIG_OF device tree support
|
||||
*
|
||||
* Copyright (C) 2010 Cisco Systems Inc. <dediao@cisco.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/initrd.h>
|
||||
#include <linux/debugfs.h>
|
||||
#include <linux/of.h>
|
||||
#include <linux/of_fdt.h>
|
||||
#include <linux/of_irq.h>
|
||||
#include <linux/of_platform.h>
|
||||
|
||||
#include <asm/page.h>
|
||||
#include <asm/prom.h>
|
||||
|
||||
int __init early_init_dt_scan_memory_arch(unsigned long node,
|
||||
const char *uname, int depth,
|
||||
void *data)
|
||||
{
|
||||
return early_init_dt_scan_memory(node, uname, depth, data);
|
||||
}
|
||||
|
||||
void __init early_init_dt_add_memory_arch(u64 base, u64 size)
|
||||
{
|
||||
return add_memory_region(base, size, BOOT_MEM_RAM);
|
||||
}
|
||||
|
||||
int __init reserve_mem_mach(unsigned long addr, unsigned long size)
|
||||
{
|
||||
return reserve_bootmem(addr, size, BOOTMEM_DEFAULT);
|
||||
}
|
||||
|
||||
void __init free_mem_mach(unsigned long addr, unsigned long size)
|
||||
{
|
||||
return free_bootmem(addr, size);
|
||||
}
|
||||
|
||||
u64 __init early_init_dt_alloc_memory_arch(u64 size, u64 align)
|
||||
{
|
||||
return virt_to_phys(
|
||||
__alloc_bootmem(size, align, __pa(MAX_DMA_ADDRESS))
|
||||
);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_BLK_DEV_INITRD
|
||||
void __init early_init_dt_setup_initrd_arch(unsigned long start,
|
||||
unsigned long end)
|
||||
{
|
||||
initrd_start = (unsigned long)__va(start);
|
||||
initrd_end = (unsigned long)__va(end);
|
||||
initrd_below_start_ok = 1;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* irq_create_of_mapping - Hook to resolve OF irq specifier into a Linux irq#
|
||||
*
|
||||
* Currently the mapping mechanism is trivial; simple flat hwirq numbers are
|
||||
* mapped 1:1 onto Linux irq numbers. Cascaded irq controllers are not
|
||||
* supported.
|
||||
*/
|
||||
unsigned int irq_create_of_mapping(struct device_node *controller,
|
||||
const u32 *intspec, unsigned int intsize)
|
||||
{
|
||||
return intspec[0];
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(irq_create_of_mapping);
|
||||
|
||||
void __init early_init_devtree(void *params)
|
||||
{
|
||||
/* Setup flat device-tree pointer */
|
||||
initial_boot_params = params;
|
||||
|
||||
/* Retrieve various informations from the /chosen node of the
|
||||
* device-tree, including the platform type, initrd location and
|
||||
* size, and more ...
|
||||
*/
|
||||
of_scan_flat_dt(early_init_dt_scan_chosen, NULL);
|
||||
|
||||
/* Scan memory nodes */
|
||||
of_scan_flat_dt(early_init_dt_scan_root, NULL);
|
||||
of_scan_flat_dt(early_init_dt_scan_memory_arch, NULL);
|
||||
}
|
||||
|
||||
void __init device_tree_init(void)
|
||||
{
|
||||
unsigned long base, size;
|
||||
|
||||
if (!initial_boot_params)
|
||||
return;
|
||||
|
||||
base = virt_to_phys((void *)initial_boot_params);
|
||||
size = initial_boot_params->totalsize;
|
||||
|
||||
/* Before we do anything, lets reserve the dt blob */
|
||||
reserve_mem_mach(base, size);
|
||||
|
||||
unflatten_device_tree();
|
||||
|
||||
/* free the space reserved for the dt blob */
|
||||
free_mem_mach(base, size);
|
||||
}
|
||||
|
|
@ -536,7 +536,7 @@ asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit)
|
|||
{
|
||||
/* do the secure computing check first */
|
||||
if (!entryexit)
|
||||
secure_computing(regs->regs[0]);
|
||||
secure_computing(regs->regs[2]);
|
||||
|
||||
if (unlikely(current->audit_context) && entryexit)
|
||||
audit_syscall_exit(AUDITSC_RESULT(regs->regs[2]),
|
||||
|
|
@ -565,7 +565,7 @@ asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit)
|
|||
|
||||
out:
|
||||
if (unlikely(current->audit_context) && !entryexit)
|
||||
audit_syscall_entry(audit_arch(), regs->regs[0],
|
||||
audit_syscall_entry(audit_arch(), regs->regs[2],
|
||||
regs->regs[4], regs->regs[5],
|
||||
regs->regs[6], regs->regs[7]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -468,7 +468,8 @@ static const struct file_operations rtlx_fops = {
|
|||
.release = file_release,
|
||||
.write = file_write,
|
||||
.read = file_read,
|
||||
.poll = file_poll
|
||||
.poll = file_poll,
|
||||
.llseek = noop_llseek,
|
||||
};
|
||||
|
||||
static struct irqaction rtlx_irq = {
|
||||
|
|
|
|||
|
|
@ -63,9 +63,9 @@ stack_done:
|
|||
sw t0, PT_R7(sp) # set error flag
|
||||
beqz t0, 1f
|
||||
|
||||
lw t1, PT_R2(sp) # syscall number
|
||||
negu v0 # error
|
||||
sw v0, PT_R0(sp) # set flag for syscall
|
||||
# restarting
|
||||
sw t1, PT_R0(sp) # save it for syscall restarting
|
||||
1: sw v0, PT_R2(sp) # result
|
||||
|
||||
o32_syscall_exit:
|
||||
|
|
@ -104,9 +104,9 @@ syscall_trace_entry:
|
|||
sw t0, PT_R7(sp) # set error flag
|
||||
beqz t0, 1f
|
||||
|
||||
lw t1, PT_R2(sp) # syscall number
|
||||
negu v0 # error
|
||||
sw v0, PT_R0(sp) # set flag for syscall
|
||||
# restarting
|
||||
sw t1, PT_R0(sp) # save it for syscall restarting
|
||||
1: sw v0, PT_R2(sp) # result
|
||||
|
||||
j syscall_exit
|
||||
|
|
@ -169,8 +169,7 @@ stackargs:
|
|||
* We probably should handle this case a bit more drastic.
|
||||
*/
|
||||
bad_stack:
|
||||
negu v0 # error
|
||||
sw v0, PT_R0(sp)
|
||||
li v0, EFAULT
|
||||
sw v0, PT_R2(sp)
|
||||
li t0, 1 # set error flag
|
||||
sw t0, PT_R7(sp)
|
||||
|
|
@ -583,7 +582,10 @@ einval: li v0, -ENOSYS
|
|||
sys sys_rt_tgsigqueueinfo 4
|
||||
sys sys_perf_event_open 5
|
||||
sys sys_accept4 4
|
||||
sys sys_recvmmsg 5
|
||||
sys sys_recvmmsg 5 /* 4335 */
|
||||
sys sys_fanotify_init 2
|
||||
sys sys_fanotify_mark 6
|
||||
sys sys_prlimit64 4
|
||||
.endm
|
||||
|
||||
/* We pre-compute the number of _instruction_ bytes needed to
|
||||
|
|
|
|||
|
|
@ -66,9 +66,9 @@ NESTED(handle_sys64, PT_SIZE, sp)
|
|||
sd t0, PT_R7(sp) # set error flag
|
||||
beqz t0, 1f
|
||||
|
||||
ld t1, PT_R2(sp) # syscall number
|
||||
dnegu v0 # error
|
||||
sd v0, PT_R0(sp) # set flag for syscall
|
||||
# restarting
|
||||
sd t1, PT_R0(sp) # save it for syscall restarting
|
||||
1: sd v0, PT_R2(sp) # result
|
||||
|
||||
n64_syscall_exit:
|
||||
|
|
@ -109,8 +109,9 @@ syscall_trace_entry:
|
|||
sd t0, PT_R7(sp) # set error flag
|
||||
beqz t0, 1f
|
||||
|
||||
ld t1, PT_R2(sp) # syscall number
|
||||
dnegu v0 # error
|
||||
sd v0, PT_R0(sp) # set flag for syscall restarting
|
||||
sd t1, PT_R0(sp) # save it for syscall restarting
|
||||
1: sd v0, PT_R2(sp) # result
|
||||
|
||||
j syscall_exit
|
||||
|
|
@ -416,9 +417,12 @@ sys_call_table:
|
|||
PTR sys_pipe2
|
||||
PTR sys_inotify_init1
|
||||
PTR sys_preadv
|
||||
PTR sys_pwritev /* 5390 */
|
||||
PTR sys_pwritev /* 5290 */
|
||||
PTR sys_rt_tgsigqueueinfo
|
||||
PTR sys_perf_event_open
|
||||
PTR sys_accept4
|
||||
PTR sys_recvmmsg
|
||||
PTR sys_recvmmsg
|
||||
PTR sys_fanotify_init /* 5295 */
|
||||
PTR sys_fanotify_mark
|
||||
PTR sys_prlimit64
|
||||
.size sys_call_table,.-sys_call_table
|
||||
|
|
|
|||
|
|
@ -65,8 +65,9 @@ NESTED(handle_sysn32, PT_SIZE, sp)
|
|||
sd t0, PT_R7(sp) # set error flag
|
||||
beqz t0, 1f
|
||||
|
||||
ld t1, PT_R2(sp) # syscall number
|
||||
dnegu v0 # error
|
||||
sd v0, PT_R0(sp) # set flag for syscall restarting
|
||||
sd t1, PT_R0(sp) # save it for syscall restarting
|
||||
1: sd v0, PT_R2(sp) # result
|
||||
|
||||
local_irq_disable # make sure need_resched and
|
||||
|
|
@ -106,8 +107,9 @@ n32_syscall_trace_entry:
|
|||
sd t0, PT_R7(sp) # set error flag
|
||||
beqz t0, 1f
|
||||
|
||||
ld t1, PT_R2(sp) # syscall number
|
||||
dnegu v0 # error
|
||||
sd v0, PT_R0(sp) # set flag for syscall restarting
|
||||
sd t1, PT_R0(sp) # save it for syscall restarting
|
||||
1: sd v0, PT_R2(sp) # result
|
||||
|
||||
j syscall_exit
|
||||
|
|
@ -320,10 +322,10 @@ EXPORT(sysn32_call_table)
|
|||
PTR sys_cacheflush
|
||||
PTR sys_cachectl
|
||||
PTR sys_sysmips
|
||||
PTR sys_io_setup /* 6200 */
|
||||
PTR compat_sys_io_setup /* 6200 */
|
||||
PTR sys_io_destroy
|
||||
PTR sys_io_getevents
|
||||
PTR sys_io_submit
|
||||
PTR compat_sys_io_getevents
|
||||
PTR compat_sys_io_submit
|
||||
PTR sys_io_cancel
|
||||
PTR sys_exit_group /* 6205 */
|
||||
PTR sys_lookup_dcookie
|
||||
|
|
@ -419,5 +421,8 @@ EXPORT(sysn32_call_table)
|
|||
PTR sys_perf_event_open
|
||||
PTR sys_accept4
|
||||
PTR compat_sys_recvmmsg
|
||||
PTR sys_getdents
|
||||
PTR sys_getdents64
|
||||
PTR sys_fanotify_init /* 6300 */
|
||||
PTR sys_fanotify_mark
|
||||
PTR sys_prlimit64
|
||||
.size sysn32_call_table,.-sysn32_call_table
|
||||
|
|
|
|||
|
|
@ -93,8 +93,9 @@ NESTED(handle_sys, PT_SIZE, sp)
|
|||
sd t0, PT_R7(sp) # set error flag
|
||||
beqz t0, 1f
|
||||
|
||||
ld t1, PT_R2(sp) # syscall number
|
||||
dnegu v0 # error
|
||||
sd v0, PT_R0(sp) # flag for syscall restarting
|
||||
sd t1, PT_R0(sp) # save it for syscall restarting
|
||||
1: sd v0, PT_R2(sp) # result
|
||||
|
||||
o32_syscall_exit:
|
||||
|
|
@ -142,8 +143,9 @@ trace_a_syscall:
|
|||
sd t0, PT_R7(sp) # set error flag
|
||||
beqz t0, 1f
|
||||
|
||||
ld t1, PT_R2(sp) # syscall number
|
||||
dnegu v0 # error
|
||||
sd v0, PT_R0(sp) # set flag for syscall restarting
|
||||
sd t1, PT_R0(sp) # save it for syscall restarting
|
||||
1: sd v0, PT_R2(sp) # result
|
||||
|
||||
j syscall_exit
|
||||
|
|
@ -154,8 +156,7 @@ trace_a_syscall:
|
|||
* The stackpointer for a call with more than 4 arguments is bad.
|
||||
*/
|
||||
bad_stack:
|
||||
dnegu v0 # error
|
||||
sd v0, PT_R0(sp)
|
||||
li v0, EFAULT
|
||||
sd v0, PT_R2(sp)
|
||||
li t0, 1 # set error flag
|
||||
sd t0, PT_R7(sp)
|
||||
|
|
@ -444,10 +445,10 @@ sys_call_table:
|
|||
PTR compat_sys_futex
|
||||
PTR compat_sys_sched_setaffinity
|
||||
PTR compat_sys_sched_getaffinity /* 4240 */
|
||||
PTR sys_io_setup
|
||||
PTR compat_sys_io_setup
|
||||
PTR sys_io_destroy
|
||||
PTR sys_io_getevents
|
||||
PTR sys_io_submit
|
||||
PTR compat_sys_io_getevents
|
||||
PTR compat_sys_io_submit
|
||||
PTR sys_io_cancel /* 4245 */
|
||||
PTR sys_exit_group
|
||||
PTR sys32_lookup_dcookie
|
||||
|
|
@ -538,5 +539,8 @@ sys_call_table:
|
|||
PTR compat_sys_rt_tgsigqueueinfo
|
||||
PTR sys_perf_event_open
|
||||
PTR sys_accept4
|
||||
PTR compat_sys_recvmmsg
|
||||
PTR compat_sys_recvmmsg /* 4335 */
|
||||
PTR sys_fanotify_init
|
||||
PTR sys_32_fanotify_mark
|
||||
PTR sys_prlimit64
|
||||
.size sys_call_table,.-sys_call_table
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@
|
|||
#include <asm/setup.h>
|
||||
#include <asm/smp-ops.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/prom.h>
|
||||
|
||||
struct cpuinfo_mips cpu_data[NR_CPUS] __read_mostly;
|
||||
|
||||
|
|
@ -487,6 +488,7 @@ static void __init arch_mem_init(char **cmdline_p)
|
|||
}
|
||||
|
||||
bootmem_init();
|
||||
device_tree_init();
|
||||
sparse_init();
|
||||
paging_init();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -390,7 +390,6 @@ asmlinkage void sys_rt_sigreturn(nabi_no_regargs struct pt_regs regs)
|
|||
{
|
||||
struct rt_sigframe __user *frame;
|
||||
sigset_t set;
|
||||
stack_t st;
|
||||
int sig;
|
||||
|
||||
frame = (struct rt_sigframe __user *) regs.regs[29];
|
||||
|
|
@ -411,11 +410,9 @@ asmlinkage void sys_rt_sigreturn(nabi_no_regargs struct pt_regs regs)
|
|||
else if (sig)
|
||||
force_sig(sig, current);
|
||||
|
||||
if (__copy_from_user(&st, &frame->rs_uc.uc_stack, sizeof(st)))
|
||||
goto badframe;
|
||||
/* It is more difficult to avoid calling this function than to
|
||||
call it and ignore errors. */
|
||||
do_sigaltstack((stack_t __user *)&st, NULL, regs.regs[29]);
|
||||
do_sigaltstack(&frame->rs_uc.uc_stack, NULL, regs.regs[29]);
|
||||
|
||||
/*
|
||||
* Don't let your children do this ...
|
||||
|
|
@ -550,23 +547,26 @@ static int handle_signal(unsigned long sig, siginfo_t *info,
|
|||
struct mips_abi *abi = current->thread.abi;
|
||||
void *vdso = current->mm->context.vdso;
|
||||
|
||||
switch(regs->regs[0]) {
|
||||
case ERESTART_RESTARTBLOCK:
|
||||
case ERESTARTNOHAND:
|
||||
regs->regs[2] = EINTR;
|
||||
break;
|
||||
case ERESTARTSYS:
|
||||
if (!(ka->sa.sa_flags & SA_RESTART)) {
|
||||
if (regs->regs[0]) {
|
||||
switch(regs->regs[2]) {
|
||||
case ERESTART_RESTARTBLOCK:
|
||||
case ERESTARTNOHAND:
|
||||
regs->regs[2] = EINTR;
|
||||
break;
|
||||
case ERESTARTSYS:
|
||||
if (!(ka->sa.sa_flags & SA_RESTART)) {
|
||||
regs->regs[2] = EINTR;
|
||||
break;
|
||||
}
|
||||
/* fallthrough */
|
||||
case ERESTARTNOINTR:
|
||||
regs->regs[7] = regs->regs[26];
|
||||
regs->regs[2] = regs->regs[0];
|
||||
regs->cp0_epc -= 4;
|
||||
}
|
||||
/* fallthrough */
|
||||
case ERESTARTNOINTR: /* Userland will reload $v0. */
|
||||
regs->regs[7] = regs->regs[26];
|
||||
regs->cp0_epc -= 8;
|
||||
}
|
||||
|
||||
regs->regs[0] = 0; /* Don't deal with this again. */
|
||||
regs->regs[0] = 0; /* Don't deal with this again. */
|
||||
}
|
||||
|
||||
if (sig_uses_siginfo(ka))
|
||||
ret = abi->setup_rt_frame(vdso + abi->rt_signal_return_offset,
|
||||
|
|
@ -575,6 +575,9 @@ static int handle_signal(unsigned long sig, siginfo_t *info,
|
|||
ret = abi->setup_frame(vdso + abi->signal_return_offset,
|
||||
ka, regs, sig, oldset);
|
||||
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
spin_lock_irq(¤t->sighand->siglock);
|
||||
sigorsets(¤t->blocked, ¤t->blocked, &ka->sa.sa_mask);
|
||||
if (!(ka->sa.sa_flags & SA_NODEFER))
|
||||
|
|
@ -622,17 +625,13 @@ static void do_signal(struct pt_regs *regs)
|
|||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Who's code doesn't conform to the restartable syscall convention
|
||||
* dies here!!! The li instruction, a single machine instruction,
|
||||
* must directly be followed by the syscall instruction.
|
||||
*/
|
||||
if (regs->regs[0]) {
|
||||
if (regs->regs[2] == ERESTARTNOHAND ||
|
||||
regs->regs[2] == ERESTARTSYS ||
|
||||
regs->regs[2] == ERESTARTNOINTR) {
|
||||
regs->regs[2] = regs->regs[0];
|
||||
regs->regs[7] = regs->regs[26];
|
||||
regs->cp0_epc -= 8;
|
||||
regs->cp0_epc -= 4;
|
||||
}
|
||||
if (regs->regs[2] == ERESTART_RESTARTBLOCK) {
|
||||
regs->regs[2] = current->thread.abi->restart;
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@ asmlinkage int sysn32_rt_sigsuspend(nabi_no_regargs struct pt_regs regs)
|
|||
asmlinkage void sysn32_rt_sigreturn(nabi_no_regargs struct pt_regs regs)
|
||||
{
|
||||
struct rt_sigframe_n32 __user *frame;
|
||||
mm_segment_t old_fs;
|
||||
sigset_t set;
|
||||
stack_t st;
|
||||
s32 sp;
|
||||
|
|
@ -143,7 +144,11 @@ asmlinkage void sysn32_rt_sigreturn(nabi_no_regargs struct pt_regs regs)
|
|||
|
||||
/* It is more difficult to avoid calling this function than to
|
||||
call it and ignore errors. */
|
||||
old_fs = get_fs();
|
||||
set_fs(KERNEL_DS);
|
||||
do_sigaltstack((stack_t __user *)&st, NULL, regs.regs[29]);
|
||||
set_fs(old_fs);
|
||||
|
||||
|
||||
/*
|
||||
* Don't let your children do this ...
|
||||
|
|
|
|||
|
|
@ -1038,7 +1038,7 @@ void deferred_smtc_ipi(void)
|
|||
* but it's more efficient, given that we're already
|
||||
* running down the IPI queue.
|
||||
*/
|
||||
__raw_local_irq_restore(flags);
|
||||
__arch_local_irq_restore(flags);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1190,7 +1190,7 @@ void smtc_ipi_replay(void)
|
|||
/*
|
||||
** But use a raw restore here to avoid recursion.
|
||||
*/
|
||||
__raw_local_irq_restore(flags);
|
||||
__arch_local_irq_restore(flags);
|
||||
|
||||
if (pipi) {
|
||||
self_ipi(pipi);
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#include <linux/kprobes.h>
|
||||
#include <linux/notifier.h>
|
||||
#include <linux/kdb.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/bootinfo.h>
|
||||
#include <asm/branch.h>
|
||||
|
|
@ -51,7 +52,6 @@
|
|||
#include <asm/mmu_context.h>
|
||||
#include <asm/types.h>
|
||||
#include <asm/stacktrace.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/uasm.h>
|
||||
|
||||
extern void check_wait(void);
|
||||
|
|
|
|||
|
|
@ -109,8 +109,6 @@ static void emulate_load_store_insn(struct pt_regs *regs,
|
|||
unsigned long value;
|
||||
unsigned int res;
|
||||
|
||||
regs->regs[0] = 0;
|
||||
|
||||
/*
|
||||
* This load never faults.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1192,7 +1192,8 @@ static const struct file_operations vpe_fops = {
|
|||
.owner = THIS_MODULE,
|
||||
.open = vpe_open,
|
||||
.release = vpe_release,
|
||||
.write = vpe_write
|
||||
.write = vpe_write,
|
||||
.llseek = noop_llseek,
|
||||
};
|
||||
|
||||
/* module wrapper entry points */
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* Kevin D. Kissell, kevink@mips.com and Carsten Langgaard, carstenl@mips.com
|
||||
* Copyright (C) 2000 MIPS Technologies, Inc.
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -9,7 +9,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* This program is free software; you can distribute it and/or modify it
|
||||
* under the terms of the GNU General Public License (Version 2) as
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
* MIPS floating point support
|
||||
*
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* This program is free software; you can distribute it and/or modify it
|
||||
* under the terms of the GNU General Public License (Version 2) as
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
/*
|
||||
* MIPS floating point support
|
||||
* Copyright (C) 1994-2000 Algorithmics Ltd.
|
||||
* http://www.algor.co.uk
|
||||
*
|
||||
* ########################################################################
|
||||
*
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue