Commit 4fd9cc9e authored by Linus Torvalds's avatar Linus Torvalds

v2.4.13.1 -> v2.4.13.2

  - Alan Cox: more merging
  - Alexander Viro: block device module race fixes
  - Richard Henderson: mmap for 32-bit alpha personality
  - Jeff Garzik: 8139 and natsemi update
parent 980adcb2
...@@ -245,32 +245,58 @@ nico@cam.org ...@@ -245,32 +245,58 @@ nico@cam.org
June 12, 2001 June 12, 2001
Status of peripherals in -rmk tree Status of peripherals in -rmk tree (updated 14/10/2001)
---------------------------------- -------------------------------------------------------
Assabet: Assabet:
Serial ports: Serial ports:
Radio: TX, RX, CTS, DSR, DCD, RI Radio: TX, RX, CTS, DSR, DCD, RI
COM: TX, RX, CTS, DSR, DCD, RTS, DTR, PM PM: Not tested.
I2C: TX, RX COM: TX, RX, CTS, DSR, DCD, RTS, DTR, PM
L3: No PM: Not tested.
I2C: Implemented, not fully tested.
L3: Fully tested, pass.
PM: Not tested.
Video: Video:
LCD: PM LCD: Fully tested. PM
Video out: Not fully (LCD doesn't like being blanked with
Touchscreen: No neponset connected)
Video out: Not fully
Audio: Audio:
Codec: No UDA1341:
POTS: No Playback: Fully tested, pass.
Record: Implemented, not tested.
PM: Not tested.
UCB1200:
Audio play: Implemented, not heavily tested.
Audio rec: Implemented, not heavily tested.
Telco audio play: Implemented, not heavily tested.
Telco audio rec: Implemented, not heavily tested.
POTS control: No
Touchscreen: Yes
PM: Not tested.
Other: Other:
PCMCIA: Yes PCMCIA:
USB: No LPE: Fully tested, pass.
USB: No
IRDA:
SIR: Fully tested, pass.
FIR: Fully tested, pass.
PM: Not tested.
Neponset: Neponset:
Serial ports: Serial ports:
COM1,2: TX, RX, CTS, DSR, DCD, RTS, DTR COM1,2: TX, RX, CTS, DSR, DCD, RTS, DTR
PM: Not tested.
USB: Implemented, not heavily tested.
PCMCIA: Implemented, not heavily tested.
PM: Not tested.
CF: Implemented, not heavily tested.
PM: Not tested.
More stuff can be found in the -np (Nicolas Pitre's) tree. More stuff can be found in the -np (Nicolas Pitre's) tree.
...@@ -48,8 +48,15 @@ check=s|r|n -- Case sensitivity checking setting. ...@@ -48,8 +48,15 @@ check=s|r|n -- Case sensitivity checking setting.
r: relaxed, case insensitive r: relaxed, case insensitive
n: normal, default setting, currently case insensitive n: normal, default setting, currently case insensitive
nocase -- Returning with having the 8.3 format alias kept in shortname=lower|win95|winnt|mixed
the disk. Default, return lowercase letter. -- Shortname display/create setting.
lower: convert to lowercase for display,
emulate the Windows 95 rule for create.
win95: emulate the Windows 95 rule for display/create.
winnt: emulate the Windows NT rule for display/create.
mixed: emulate the Windows NT rule for display,
emulate the Windows 95 rule for create.
Default setting is `lower'.
<bool>: 0,1,yes,no,true,false <bool>: 0,1,yes,no,true,false
......
...@@ -17,9 +17,6 @@ ...@@ -17,9 +17,6 @@
Disclaimer Disclaimer
---------- ----------
THIS DRIVER IS A DEVELOPMENT RELEASE FOR A DEVELOPMENT KERNEL. DO NOT
USE IN A PRODUCTION ENVIRONMENT.
DO NOT CONTACT DONALD BECKER FOR SUPPORT OF THIS DRIVER, his driver is DO NOT CONTACT DONALD BECKER FOR SUPPORT OF THIS DRIVER, his driver is
completely different and maintained independently of the 8139too code base. completely different and maintained independently of the 8139too code base.
...@@ -95,6 +92,7 @@ OPTION 2: Build outside kernel tree ...@@ -95,6 +92,7 @@ OPTION 2: Build outside kernel tree
Tested Adapters Tested Adapters
--------------- ---------------
AOpen ALN-325C AOpen ALN-325C
AT-2500TX 10/100 PCI Fast Ethernet Network Adapter Card
KTI KF-230TX KTI KF-230TX
KTI KF-230TX/2 KTI KF-230TX/2
Lantech FastNet TX Lantech FastNet TX
......
...@@ -93,7 +93,12 @@ M: ajk@iehk.rwth-aachen.de ...@@ -93,7 +93,12 @@ M: ajk@iehk.rwth-aachen.de
L: linux-hams@vger.kernel.org L: linux-hams@vger.kernel.org
S: Maintained S: Maintained
8139TOO ETHERNET DRIVER 8139CP 10/100 FAST ETHERNET DRIVER
P: Jeff Garzik
M: jgarzik@mandrakesoft.com
S: Maintained
8139TOO 10/100 FAST ETHERNET DRIVER
P: Jeff Garzik P: Jeff Garzik
M: jgarzik@mandrakesoft.com M: jgarzik@mandrakesoft.com
W: http://sourceforge.net/projects/gkernel/ W: http://sourceforge.net/projects/gkernel/
...@@ -640,6 +645,13 @@ M: rhw@memalpha.cx ...@@ -640,6 +645,13 @@ M: rhw@memalpha.cx
L: Linux-Kernel@vger.kernel.org L: Linux-Kernel@vger.kernel.org
S: Maintained S: Maintained
i386 SETUP CODE / CPU ERRATA WORKAROUNDS
P: Dave Jones
M: davej@suse.de
P: H. Peter Anvin
M: hpa@zytor.com
S: Maintained
i810 TCO TIMER WATCHDOG i810 TCO TIMER WATCHDOG
P: Nils Faerber P: Nils Faerber
M: nils@kernelconcepts.de M: nils@kernelconcepts.de
......
VERSION = 2 VERSION = 2
PATCHLEVEL = 4 PATCHLEVEL = 4
SUBLEVEL = 14 SUBLEVEL = 14
EXTRAVERSION =-pre1 EXTRAVERSION =-pre2
KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION) KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
......
...@@ -1320,3 +1320,62 @@ asmlinkage int sys_old_adjtimex(struct timex32 *txc_p) ...@@ -1320,3 +1320,62 @@ asmlinkage int sys_old_adjtimex(struct timex32 *txc_p)
return ret; return ret;
} }
/* Get an address range which is currently unmapped. Similar to the
generic version except that we know how to honor ADDR_LIMIT_32BIT. */
static unsigned long
arch_get_unmapped_area_1(unsigned long addr, unsigned long len,
unsigned long limit)
{
struct vm_area_struct *vma = find_vma(current->mm, addr);
while (1) {
/* At this point: (!vma || addr < vma->vm_end). */
if (limit - len < addr)
return -ENOMEM;
if (!vma || addr + len <= vma->vm_start)
return addr;
addr = vma->vm_end;
vma = vma->vm_next;
}
}
unsigned long
arch_get_unmapped_area(struct file *filp, unsigned long addr,
unsigned long len, unsigned long pgoff,
unsigned long flags)
{
unsigned long limit;
/* "32 bit" actually means 31 bit, since pointers sign extend. */
if (current->personality & ADDR_LIMIT_32BIT)
limit = 0x80000000;
else
limit = TASK_SIZE;
if (len > limit)
return -ENOMEM;
/* First, see if the given suggestion fits. */
if (addr) {
struct vm_area_struct *vma;
addr = PAGE_ALIGN(addr);
vma = find_vma(current->mm, addr);
if (limit - len >= addr &&
(!vma || addr + len <= vma->vm_start))
return addr;
}
/* Next, try allocating at TASK_UNMAPPED_BASE. */
addr = arch_get_unmapped_area_1 (PAGE_ALIGN(TASK_UNMAPPED_BASE),
len, limit);
if (addr != -ENOMEM)
return addr;
/* Finally, try allocating in low memory. */
addr = arch_get_unmapped_area_1 (PAGE_SIZE, len, limit);
return addr;
}
...@@ -39,6 +39,7 @@ choice 'ARM system type' \ ...@@ -39,6 +39,7 @@ choice 'ARM system type' \
CLPS711x/EP721x-based CONFIG_ARCH_CLPS711X \ CLPS711x/EP721x-based CONFIG_ARCH_CLPS711X \
Co-EBSA285 CONFIG_ARCH_CO285 \ Co-EBSA285 CONFIG_ARCH_CO285 \
EBSA-110 CONFIG_ARCH_EBSA110 \ EBSA-110 CONFIG_ARCH_EBSA110 \
Epxa10db CONFIG_ARCH_CAMELOT \
FootBridge CONFIG_ARCH_FOOTBRIDGE \ FootBridge CONFIG_ARCH_FOOTBRIDGE \
Integrator CONFIG_ARCH_INTEGRATOR \ Integrator CONFIG_ARCH_INTEGRATOR \
LinkUp-L7200 CONFIG_ARCH_L7200 \ LinkUp-L7200 CONFIG_ARCH_L7200 \
...@@ -73,7 +74,16 @@ dep_bool ' ADS Bitsy' CONFIG_SA1100_ADSBITSY $CONFIG_ARCH_SA1100 ...@@ -73,7 +74,16 @@ dep_bool ' ADS Bitsy' CONFIG_SA1100_ADSBITSY $CONFIG_ARCH_SA1100
dep_bool ' Brutus' CONFIG_SA1100_BRUTUS $CONFIG_ARCH_SA1100 dep_bool ' Brutus' CONFIG_SA1100_BRUTUS $CONFIG_ARCH_SA1100
dep_bool ' CerfBoard' CONFIG_SA1100_CERF $CONFIG_ARCH_SA1100 dep_bool ' CerfBoard' CONFIG_SA1100_CERF $CONFIG_ARCH_SA1100
if [ "$CONFIG_SA1100_CERF" = "y" ]; then if [ "$CONFIG_SA1100_CERF" = "y" ]; then
bool ' 32MB Cerf support' CONFIG_SA1100_CERF_32MB choice 'Cerf RAM available' \
"8MB CONFIG_SA1100_CERF_8MB \
16MB CONFIG_SA1100_CERF_16MB \
32MB CONFIG_SA1100_CERF_32MB \
64MB CONFIG_SA1100_CERF_64MB" CerfRam
choice 'Cerf Flash available' \
"8MB CONFIG_SA1100_CERF_FLASH_8MB \
16MB CONFIG_SA1100_CERF_FLASH_16MB \
32MB CONFIG_SA1100_CERF_FLASH_32MB" CerfFlash
bool 'Cerf w/CPLD support (CerfPDA)' CONFIG_SA1100_CERF_CPLD
fi fi
dep_bool ' Compaq iPAQ H3600' CONFIG_SA1100_H3600 $CONFIG_ARCH_SA1100 dep_bool ' Compaq iPAQ H3600' CONFIG_SA1100_H3600 $CONFIG_ARCH_SA1100
#dep_bool ' Empeg' CONFIG_SA1100_EMPEG $CONFIG_ARCH_SA1100 #dep_bool ' Empeg' CONFIG_SA1100_EMPEG $CONFIG_ARCH_SA1100
...@@ -194,7 +204,8 @@ if [ "$CONFIG_ARCH_EBSA110" = "y" -o "$CONFIG_FOOTBRIDGE" = "y" -o \ ...@@ -194,7 +204,8 @@ if [ "$CONFIG_ARCH_EBSA110" = "y" -o "$CONFIG_FOOTBRIDGE" = "y" -o \
"$CONFIG_ARCH_TBOX" = "y" -o "$CONFIG_ARCH_SHARK" = "y" -o \ "$CONFIG_ARCH_TBOX" = "y" -o "$CONFIG_ARCH_SHARK" = "y" -o \
"$CONFIG_ARCH_NEXUSPCI" = "y" -o "$CONFIG_ARCH_CLPS711X" = "y" -o \ "$CONFIG_ARCH_NEXUSPCI" = "y" -o "$CONFIG_ARCH_CLPS711X" = "y" -o \
"$CONFIG_ARCH_INTEGRATOR" = "y" -o "$CONFIG_ARCH_SA1100" = "y" -o \ "$CONFIG_ARCH_INTEGRATOR" = "y" -o "$CONFIG_ARCH_SA1100" = "y" -o \
"$CONFIG_ARCH_L7200" = "y" -o "$CONFIG_ARCH_ANAKIN" = "y" ]; then "$CONFIG_ARCH_L7200" = "y" -o "$CONFIG_ARCH_ANAKIN" = "y" -o \
"$CONFIG_ARCH_CAMELOT" = "y" ]; then
define_bool CONFIG_CPU_32v4 y define_bool CONFIG_CPU_32v4 y
else else
define_bool CONFIG_CPU_32v4 n define_bool CONFIG_CPU_32v4 n
...@@ -369,6 +380,7 @@ if [ "$CONFIG_ARCH_EBSA110" = "y" -o \ ...@@ -369,6 +380,7 @@ if [ "$CONFIG_ARCH_EBSA110" = "y" -o \
"$CONFIG_ARCH_CATS" = "y" -o \ "$CONFIG_ARCH_CATS" = "y" -o \
"$CONFIG_ARCH_P720T" = "y" -o \ "$CONFIG_ARCH_P720T" = "y" -o \
"$CONFIG_ARCH_CDB89712" = "y" -o \ "$CONFIG_ARCH_CDB89712" = "y" -o \
"$CONFIG_ARCH_CAMELOT" = "y" -o \
"$CONFIG_ARCH_ANAKIN" = "y" ]; then "$CONFIG_ARCH_ANAKIN" = "y" ]; then
string 'Default kernel command string' CONFIG_CMDLINE "" string 'Default kernel command string' CONFIG_CMDLINE ""
fi fi
...@@ -562,7 +574,9 @@ bool 'Compile kernel without frame pointer' CONFIG_NO_FRAME_POINTER ...@@ -562,7 +574,9 @@ bool 'Compile kernel without frame pointer' CONFIG_NO_FRAME_POINTER
bool 'Verbose kernel error messages' CONFIG_DEBUG_ERRORS bool 'Verbose kernel error messages' CONFIG_DEBUG_ERRORS
bool 'Verbose user fault messages' CONFIG_DEBUG_USER bool 'Verbose user fault messages' CONFIG_DEBUG_USER
bool 'Include debugging information in kernel binary' CONFIG_DEBUG_INFO bool 'Include debugging information in kernel binary' CONFIG_DEBUG_INFO
bool 'Debug memory allocations' CONFIG_DEBUG_SLAB
bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ bool 'Magic SysRq key' CONFIG_MAGIC_SYSRQ
bool 'Spinlock debugging' CONFIG_DEBUG_SPINLOCK
dep_bool 'Disable pgtable cache' CONFIG_NO_PGT_CACHE $CONFIG_CPU_26 dep_bool 'Disable pgtable cache' CONFIG_NO_PGT_CACHE $CONFIG_CPU_26
# These options are only for real kernel hackers who want to get their hands dirty. # These options are only for real kernel hackers who want to get their hands dirty.
dep_bool 'Kernel low-level debugging functions' CONFIG_DEBUG_LL $CONFIG_EXPERIMENTAL dep_bool 'Kernel low-level debugging functions' CONFIG_DEBUG_LL $CONFIG_EXPERIMENTAL
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -42,7 +42,7 @@ export-objs := armksyms.o dma.o ecard.o fiq.o io.o oldlatches.o time.o ...@@ -42,7 +42,7 @@ export-objs := armksyms.o dma.o ecard.o fiq.o io.o oldlatches.o time.o
no-irq-arch := $(CONFIG_ARCH_INTEGRATOR) $(CONFIG_ARCH_CLPS711X) \ no-irq-arch := $(CONFIG_ARCH_INTEGRATOR) $(CONFIG_ARCH_CLPS711X) \
$(CONFIG_FOOTBRIDGE) $(CONFIG_ARCH_EBSA110) \ $(CONFIG_FOOTBRIDGE) $(CONFIG_ARCH_EBSA110) \
$(CONFIG_ARCH_SA1100) $(CONFIG_ARCH_SA1100) $(CONFIG_ARCH_CAMELOT)
ifneq ($(findstring y,$(no-irq-arch)),y) ifneq ($(findstring y,$(no-irq-arch)),y)
obj-y += irq-arch.o obj-y += irq-arch.o
......
...@@ -333,6 +333,37 @@ ...@@ -333,6 +333,37 @@
bne 1001b bne 1001b
.endm .endm
#elif defined(CONFIG_ARCH_CAMELOT)
#include <asm/arch/excalibur.h>
#define UART00_TYPE
#include <asm/arch/uart00.h>
.macro addruart,rx
mrc p15, 0, \rx, c1, c0
tst \rx, #1 @ MMU enabled?
ldr \rx, =EXC_UART00_BASE @ physical base address
orrne \rx, \rx, #0xff000000 @ virtual base
orrne \rx, \rx, #0x00f00000
.endm
.macro senduart,rd,rx
str \rd, [\rx, #UART_TD(0)]
.endm
.macro waituart,rd,rx
1001: ldr \rd, [\rx, #UART_TSR(0)]
and \rd, \rd, #UART_TSR_TX_LEVEL_MSK
cmp \rd, #15
beq 1001b
.endm
.macro busyuart,rd,rx
1001: ldr \rd, [\rx, #UART_TSR(0)]
ands \rd, \rd, #UART_TSR_TX_LEVEL_MSK
bne 1001b
.endm
#else #else
#error Unknown architecture #error Unknown architecture
#endif #endif
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include <linux/config.h> #include <linux/config.h>
#include "entry-header.S" #include "entry-header.S"
#ifdef IOC_BASE #ifdef IOC_BASE
/* IOC / IOMD based hardware */ /* IOC / IOMD based hardware */
#include <asm/hardware/iomd.h> #include <asm/hardware/iomd.h>
...@@ -498,6 +499,27 @@ ENTRY(soft_irq_mask) ...@@ -498,6 +499,27 @@ ENTRY(soft_irq_mask)
.macro irq_prio_table .macro irq_prio_table
.endm .endm
#elif defined (CONFIG_ARCH_CAMELOT)
#include <asm/arch/platform.h>
#undef IRQ_MODE /* same name defined in asm/proc/ptrace.h */
#include <asm/arch/int_ctrl00.h>
.macro disable_fiq
.endm
.macro get_irqnr_and_base, irqnr, irqstat, base, tmp
ldr \irqstat, =INT_ID(IO_ADDRESS(EXC_INT_CTRL00_BASE))
ldr \irqnr,[\irqstat]
cmp \irqnr,#0
subne \irqnr,\irqnr,#1
.endm
.macro irq_prio_table
.endm
#elif defined(CONFIG_ARCH_ANAKIN) #elif defined(CONFIG_ARCH_ANAKIN)
......
...@@ -44,33 +44,33 @@ ENTRY(c_backtrace) ...@@ -44,33 +44,33 @@ ENTRY(c_backtrace)
1: moveq r0, #-2 1: moveq r0, #-2
LOADREGS(eqfd, sp!, {r4 - r8, pc}) LOADREGS(eqfd, sp!, {r4 - r8, pc})
2: stmfd sp!, {pc} @ calculate offset of PC in STMIA instruction 2: stmfd sp!, {pc} @ calculate offset of PC in STMIA instruction
ldr r0, [sp], #4 ldr r0, [sp], #4
adr r1, 2b - 4 adr r1, 2b - 4
sub offset, r0, r1 sub offset, r0, r1
3: tst frame, mask @ Check for address exceptions... 3: tst frame, mask @ Check for address exceptions...
bne 1b bne 1b
ldmda frame, {r0, r1, r2, r3} @ fp, sp, lr, pc 1001: ldmda frame, {r0, r1, r2, r3} @ fp, sp, lr, pc
mov next, r0 mov next, r0
sub save, r3, offset @ Correct PC for prefetching sub save, r3, offset @ Correct PC for prefetching
bic save, save, mask bic save, save, mask
adr r0, .Lfe adr r0, .Lfe
mov r1, save mov r1, save
bic r2, r2, mask bic r2, r2, mask
bl SYMBOL_NAME(printk) bl SYMBOL_NAME(printk) @ print pc and link register
sub r0, frame, #16 sub r0, frame, #16
ldr r1, [save, #4] 1002: ldr r1, [save, #4] @ get instruction at function+4
mov r3, r1, lsr #10 mov r3, r1, lsr #10
ldr r2, .Ldsi+4 ldr r2, .Ldsi+4
teq r3, r2 @ Check for stmia sp!, {args} teq r3, r2 @ Check for stmia sp!, {args}
addeq save, save, #4 @ next instruction addeq save, save, #4 @ next instruction
bleq .Ldumpstm bleq .Ldumpstm
ldr r1, [save, #4] @ Get 'stmia sp!, {rlist, fp, ip, lr, pc}' instruction 1003: ldr r1, [save, #4] @ Get 'stmia sp!, {rlist, fp, ip, lr, pc}' instruction
mov r3, r1, lsr #10 mov r3, r1, lsr #10
ldr r2, .Ldsi ldr r2, .Ldsi
teq r3, r2 teq r3, r2
...@@ -82,6 +82,24 @@ ENTRY(c_backtrace) ...@@ -82,6 +82,24 @@ ENTRY(c_backtrace)
bne 3b bne 3b
LOADREGS(fd, sp!, {r4 - r8, pc}) LOADREGS(fd, sp!, {r4 - r8, pc})
/*
* Fixup for LDMDB
*/
.section .fixup,"ax"
.align 0
1004: ldr r0, =.Lbad
mov r1, frame
bl SYMBOL_NAME(printk)
LOADREGS(fd, sp!, {r4 - r8, pc})
.ltorg
.previous
.section __ex_table,"a"
.align 3
.long 1001b, 1004b
.long 1002b, 1004b
.long 1003b, 1004b
.previous
#define instr r4 #define instr r4
#define reg r5 #define reg r5
...@@ -115,6 +133,7 @@ ENTRY(c_backtrace) ...@@ -115,6 +133,7 @@ ENTRY(c_backtrace)
.Lfe: .asciz "Function entered at [<%p>] from [<%p>]\n" .Lfe: .asciz "Function entered at [<%p>] from [<%p>]\n"
.Lfp: .asciz " r%d = %08X%c" .Lfp: .asciz " r%d = %08X%c"
.Lcr: .asciz "\n" .Lcr: .asciz "\n"
.Lbad: .asciz "Backtrace aborted due to bad frame pointer <%p>\n"
.align .align
.Ldsi: .word 0x00e92dd8 >> 2 .Ldsi: .word 0x00e92dd8 >> 2
.word 0x00e92d00 >> 2 .word 0x00e92d00 >> 2
......
...@@ -54,39 +54,6 @@ ENTRY(outsl) ...@@ -54,39 +54,6 @@ ENTRY(outsl)
mov r1, lr mov r1, lr
b SYMBOL_NAME(printk) b SYMBOL_NAME(printk)
/* Purpose: read a block of data from a hardware register to memory.
* Proto : void insw(int from_port, void *to, int len_in_words);
* Notes : increment to, 'to' must be 16-bit aligned
*/
ENTRY(insw)
addr r0
teq r2, #0
bne __raw_readsw
RETINSTR(mov, pc, lr)
ENTRY(insb)
addr r0
teq r2, #0
bne __raw_readsb
RETINSTR(mov, pc, lr)
@ Purpose: write a block of data from memory to a hardware register.
@ Proto : outsw(int to_reg, void *from, int len_in_words);
@ Notes : increments from
ENTRY(outsw)
addr r0
teq r2, #0
bne __raw_writesw
RETINSTR(mov, pc, lr)
ENTRY(outsb)
addr r0
teq r2, #0
bne __raw_writesb
RETINSTR(mov, pc, lr)
@ Purpose: write a memc register @ Purpose: write a memc register
@ Proto : void memc_write(int register, int value); @ Proto : void memc_write(int register, int value);
@ Returns: nothing @ Returns: nothing
......
#
# Makefile for the linux kernel.
#
# Note! Dependencies are done automagically by 'make dep', which also
# removes any old dependencies. DON'T put your own dependencies here
# unless it's something special (ie not a .c file).
USE_STANDARD_AS_RULE := true
O_TARGET := epxa10db.o
# Object file lists.
obj-y := arch.o irq.o mm.o time.o
obj-m :=
obj-n :=
obj- :=
export-objs :=
include $(TOPDIR)/Rules.make
/*
* linux/arch/arm/mach-epxa10db/arch.c
*
* Copyright (C) 2000 Deep Blue Solutions Ltd
* Copyright (C) 2001 Altera Corporation
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <linux/config.h>
#include <linux/types.h>
#include <linux/sched.h>
#include <linux/interrupt.h>
#include <linux/init.h>
#include <asm/hardware.h>
#include <asm/irq.h>
#include <asm/setup.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
extern void epxa10db_map_io(void);
extern void epxa10db_init_irq(void);
static void __init
epxa10db_fixup(struct machine_desc *desc, struct param_struct *params,
char **cmdline, struct meminfo *mi)
{
mi->nr_banks = 1;
mi->bank[0].start = 0;
mi->bank[0].size = (32*1024*1024);
mi->bank[0].node = 0;
/*
ROOT_DEV = MKDEV(RAMDISK_MAJOR,0);
setup_ramdisk( 1, 0, 0, 8192 );
setup_initrd(0xc0200000, 6*1024*1024);
*/
}
MACHINE_START(CAMELOT, "Altera Epxa10db")
MAINTAINER("Altera Corporation")
BOOT_MEM(0x00000000, 0x7fffc000, 0xffffc000)
FIXUP(epxa10db_fixup)
MAPIO(epxa10db_map_io)
INITIRQ(epxa10db_init_irq)
MACHINE_END
/*
* linux/arch/arm/mach-epxa10db/dma.c
*
* Copyright (C) 1999 ARM Limited
* Copyright (C) 2000 Deep Blue Solutions Ltd
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <linux/sched.h>
#include <linux/malloc.h>
#include <linux/mman.h>
#include <linux/init.h>
#include <asm/page.h>
#include <asm/pgtable.h>
#include <asm/dma.h>
#include <asm/io.h>
#include <asm/hardware.h>
#include <asm/mach/dma.h>
void __init arch_dma_init(dma_t *dma)
{
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -611,7 +611,7 @@ static int __init sa1100_init_dma(void) ...@@ -611,7 +611,7 @@ static int __init sa1100_init_dma(void)
int channel; int channel;
for (channel = 0; channel < SA1100_DMA_CHANNELS; channel++) { for (channel = 0; channel < SA1100_DMA_CHANNELS; channel++) {
dma_chan[channel].regs = dma_chan[channel].regs =
(dma_regs_t *) io_p2v(_DDAR(channel)); (dma_regs_t *) &DDAR(channel);
dma_chan[channel].irq = IRQ_DMA0 + channel; dma_chan[channel].irq = IRQ_DMA0 + channel;
} }
return 0; return 0;
......
This diff is collapsed.
...@@ -50,6 +50,11 @@ static void __init freebird_map_io(void) ...@@ -50,6 +50,11 @@ static void __init freebird_map_io(void)
sa1100_register_uart(0, 3); sa1100_register_uart(0, 3);
sa1100_register_uart(1, 1); sa1100_register_uart(1, 1);
/* Set up sleep mode registers */
PWER = 0x1;
PGSR = 0x0;
PCFR = PCFR_OPDE | PCFR_FP | PCFR_FS;
} }
MACHINE_START(FREEBIRD, "Freebird-HPC-1.1") MACHINE_START(FREEBIRD, "Freebird-HPC-1.1")
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment