Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 57417
b: refs/heads/master
c: 7947b20
h: refs/heads/master
i:
  57415: ec145e9
v: v3
  • Loading branch information
Michael Chan authored and David S. Miller committed Jun 7, 2007
1 parent 062de0d commit b7c40c2
Show file tree
Hide file tree
Showing 40 changed files with 136 additions and 173 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e5e3c84b70e58fc605635fd340fb8dba3cc59058
refs/heads/master: 7947b20ebae785ba25154aa1a9a00a98a22de75a
5 changes: 1 addition & 4 deletions trunk/arch/arm/boot/compressed/head.S
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ not_relocated: mov r0, #0
mov r3, r7
bl decompress_kernel

add r0, r0, #127 + 128 @ alignment + stack
add r0, r0, #127
bic r0, r0, #127 @ align the kernel length
/*
* r0 = decompressed kernel length
Expand All @@ -269,7 +269,6 @@ not_relocated: mov r0, #0
stmia r1!, {r9 - r14}
cmp r2, r3
blo 1b
add sp, r1, #128 @ relocate the stack

bl cache_clean_flush
add pc, r5, r0 @ call relocation code
Expand Down Expand Up @@ -477,7 +476,6 @@ __common_mmu_cache_on:
*/
.align 5
reloc_start: add r9, r5, r0
sub r9, r9, #128 @ do not copy the stack
debug_reloc_start
mov r1, r4
1:
Expand All @@ -488,7 +486,6 @@ reloc_start: add r9, r5, r0

cmp r5, r9
blo 1b
add sp, r1, #128 @ relocate the stack
debug_reloc_end

call_kernel: bl cache_clean_flush
Expand Down
5 changes: 5 additions & 0 deletions trunk/arch/arm/mach-at91/clock.c
Original file line number Diff line number Diff line change
Expand Up @@ -364,14 +364,19 @@ static int at91_clk_show(struct seq_file *s, void *unused)
{
u32 scsr, pcsr, sr;
struct clk *clk;
unsigned i;

seq_printf(s, "SCSR = %8x\n", scsr = at91_sys_read(AT91_PMC_SCSR));
seq_printf(s, "PCSR = %8x\n", pcsr = at91_sys_read(AT91_PMC_PCSR));

seq_printf(s, "MOR = %8x\n", at91_sys_read(AT91_CKGR_MOR));
seq_printf(s, "MCFR = %8x\n", at91_sys_read(AT91_CKGR_MCFR));
seq_printf(s, "PLLA = %8x\n", at91_sys_read(AT91_CKGR_PLLAR));
seq_printf(s, "PLLB = %8x\n", at91_sys_read(AT91_CKGR_PLLBR));

seq_printf(s, "MCKR = %8x\n", at91_sys_read(AT91_PMC_MCKR));
for (i = 0; i < 4; i++)
seq_printf(s, "PCK%d = %8x\n", i, at91_sys_read(AT91_PMC_PCKR(i)));
seq_printf(s, "SR = %8x\n", sr = at91_sys_read(AT91_PMC_SR));

seq_printf(s, "\n");
Expand Down
11 changes: 6 additions & 5 deletions trunk/arch/arm/mach-at91/pm.c
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,12 @@ static int at91_pm_verify_clocks(void)
pr_debug("AT91: PM - Suspend-to-RAM with USB still active\n");
return 0;
}
} else if (cpu_is_at91sam9260() || cpu_is_at91sam9261() || cpu_is_at91sam9263()) {
if ((scsr & (AT91SAM926x_PMC_UHP | AT91SAM926x_PMC_UDP)) != 0) {
pr_debug("AT91: PM - Suspend-to-RAM with USB still active\n");
return 0;
}
} else if (cpu_is_at91sam9260()) {
#warning "Check SAM9260 USB clocks"
} else if (cpu_is_at91sam9261()) {
#warning "Check SAM9261 USB clocks"
} else if (cpu_is_at91sam9263()) {
#warning "Check SAM9263 USB clocks"
}

#ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS
Expand Down
2 changes: 0 additions & 2 deletions trunk/arch/arm/oprofile/op_model_mpcore.c
Original file line number Diff line number Diff line change
Expand Up @@ -200,10 +200,8 @@ static int em_call_function(int (*fn)(void))
data.fn = fn;
data.ret = 0;

preempt_disable();
smp_call_function(em_func, &data, 1, 1);
em_func(&data);
preempt_enable();

return data.ret;
}
Expand Down
5 changes: 0 additions & 5 deletions trunk/arch/i386/mm/fault.c
Original file line number Diff line number Diff line change
Expand Up @@ -458,11 +458,6 @@ fastcall void __kprobes do_page_fault(struct pt_regs *regs,
bad_area_nosemaphore:
/* User mode accesses just cause a SIGSEGV */
if (error_code & 4) {
/*
* It's possible to have interrupts off here.
*/
local_irq_enable();

/*
* Valid to do another page fault here because this one came
* from user space.
Expand Down
6 changes: 3 additions & 3 deletions trunk/arch/mips/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -747,9 +747,9 @@ config EARLY_PRINTK
to print messages very early in the bootup process.

This is useful for kernel debugging when your machine crashes very
early before the console code is initialized. For normal operation,
it is not recommended because it looks ugly on some machines and
doesn't cooperate with an X server. You should normally say N here,
early before the console code is initialized. For normal operation
it is not recommended because it looks on some machines ugly and
oesn't cooperate with an X server. You should normally N here,
unless you want to debug such a crash.

config SYS_HAS_EARLY_PRINTK
Expand Down
24 changes: 24 additions & 0 deletions trunk/arch/mips/emma2rh/markeins/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,30 @@ extern void markeins_irq_setup(void);

static void inline __init markeins_sio_setup(void)
{
#ifdef CONFIG_KGDB_8250
struct uart_port emma_port;

memset(&emma_port, 0, sizeof(emma_port));

emma_port.flags =
UPF_BOOT_AUTOCONF | UPF_SKIP_TEST;
emma_port.iotype = UPIO_MEM;
emma_port.regshift = 4; /* I/O addresses are every 8 bytes */
emma_port.uartclk = 18544000; /* Clock rate of the chip */

emma_port.line = 0;
emma_port.mapbase = KSEG1ADDR(EMMA2RH_PFUR0_BASE + 3);
emma_port.membase = (u8*)emma_port.mapbase;
early_serial_setup(&emma_port);

emma_port.line = 1;
emma_port.mapbase = KSEG1ADDR(EMMA2RH_PFUR1_BASE + 3);
emma_port.membase = (u8*)emma_port.mapbase;
early_serial_setup(&emma_port);

emma_port.irq = EMMA2RH_IRQ_PFUR1;
kgdb8250_add_port(1, &emma_port);
#endif
}

void __init plat_mem_setup(void)
Expand Down
10 changes: 0 additions & 10 deletions trunk/arch/mips/kernel/linux32.c
Original file line number Diff line number Diff line change
Expand Up @@ -556,16 +556,6 @@ asmlinkage long sys32_sync_file_range(int fd, int __pad,
flags);
}

asmlinkage long sys32_fadvise64_64(int fd, int __pad,
unsigned long a2, unsigned long a3,
unsigned long a4, unsigned long a5,
int flags)
{
return sys_fadvise64_64(fd,
merge_64(a2, a3), merge_64(a4, a5),
flags);
}

save_static_function(sys32_clone);
__attribute_used__ noinline static int
_sys32_clone(nabi_no_regargs struct pt_regs regs)
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/mips/kernel/r4k_switch.S
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ LEAF(_init_fpu)
or t0, t1
mtc0 t0, CP0_STATUS
#endif /* CONFIG_MIPS_MT_SMTC */
enable_fpu_hazard
fpu_enable_hazard

li t1, FPU_DEFAULT
ctc1 t1, fcr31
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/mips/kernel/scall64-n32.S
Original file line number Diff line number Diff line change
Expand Up @@ -299,7 +299,7 @@ EXPORT(sysn32_call_table)
PTR sys_ni_syscall /* res. for afs_syscall */
PTR sys_ni_syscall /* res. for security */
PTR sys_gettid
PTR sys_readahead
PTR sys32_readahead
PTR sys_setxattr /* 6180 */
PTR sys_lsetxattr
PTR sys_fsetxattr
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/mips/kernel/scall64-o32.S
Original file line number Diff line number Diff line change
Expand Up @@ -459,7 +459,7 @@ sys_call_table:
PTR sys_remap_file_pages
PTR sys_set_tid_address
PTR sys_restart_syscall
PTR sys32_fadvise64_64
PTR sys_fadvise64_64
PTR compat_sys_statfs64 /* 4255 */
PTR compat_sys_fstatfs64
PTR compat_sys_timer_create
Expand Down
12 changes: 6 additions & 6 deletions trunk/arch/mips/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -927,6 +927,12 @@ asmlinkage void do_reserved(struct pt_regs *regs)
(regs->cp0_cause & 0x7f) >> 2);
}

static asmlinkage void do_default_vi(void)
{
show_regs(get_irq_regs());
panic("Caught unexpected vectored interrupt.");
}

/*
* Some MIPS CPUs can enable/disable for cache parity detection, but do
* it different ways.
Expand Down Expand Up @@ -1122,12 +1128,6 @@ void mips_srs_free(int set)
clear_bit(set, &sr->sr_allocated);
}

static asmlinkage void do_default_vi(void)
{
show_regs(get_irq_regs());
panic("Caught unexpected vectored interrupt.");
}

static void *set_vi_srs_handler(int n, vi_handler_t addr, int srs)
{
unsigned long handler;
Expand Down
2 changes: 0 additions & 2 deletions trunk/arch/mips/mips-boards/atlas/atlas_setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,6 @@ const char *get_system_type(void)
return "MIPS Atlas";
}

const char display_string[] = " LINUX ON ATLAS ";

void __init plat_mem_setup(void)
{
mips_pcibios_init();
Expand Down
24 changes: 0 additions & 24 deletions trunk/arch/mips/mips-boards/generic/display.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,9 @@
*/

#include <linux/compiler.h>
#include <linux/timer.h>
#include <asm/io.h>
#include <asm/mips-boards/generic.h>

extern const char display_string[];
static unsigned int display_count;
static unsigned int max_display_count;

void mips_display_message(const char *str)
{
static unsigned int __iomem *display = NULL;
Expand All @@ -42,22 +37,3 @@ void mips_display_message(const char *str)
writel(' ', display + i);
}
}

static void scroll_display_message(unsigned long data);
static DEFINE_TIMER(mips_scroll_timer, scroll_display_message, HZ, 0);

static void scroll_display_message(unsigned long data)
{
mips_display_message(&display_string[display_count++]);
if (display_count == max_display_count)
display_count = 0;

mod_timer(&mips_scroll_timer, jiffies + HZ);
}

void mips_scroll_message(void)
{
del_timer_sync(&mips_scroll_timer);
max_display_count = strlen(display_string) + 1 - 8;
mod_timer(&mips_scroll_timer, jiffies + 1);
}
31 changes: 29 additions & 2 deletions trunk/arch/mips/mips-boards/generic/time.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,11 +53,37 @@

unsigned long cpu_khz;

#if defined(CONFIG_MIPS_ATLAS)
static char display_string[] = " LINUX ON ATLAS ";
#endif
#if defined(CONFIG_MIPS_MALTA)
#if defined(CONFIG_MIPS_MT_SMTC)
static char display_string[] = " SMTC LINUX ON MALTA ";
#else
static char display_string[] = " LINUX ON MALTA ";
#endif /* CONFIG_MIPS_MT_SMTC */
#endif
#if defined(CONFIG_MIPS_SEAD)
static char display_string[] = " LINUX ON SEAD ";
#endif
static unsigned int display_count;
#define MAX_DISPLAY_COUNT (sizeof(display_string) - 8)

#define CPUCTR_IMASKBIT (0x100 << MIPSCPU_INT_CPUCTR)

static unsigned int timer_tick_count;
static int mips_cpu_timer_irq;
extern void smtc_timer_broadcast(int);

static inline void scroll_display_message(void)
{
if ((timer_tick_count++ % HZ) == 0) {
mips_display_message(&display_string[display_count++]);
if (display_count == MAX_DISPLAY_COUNT)
display_count = 0;
}
}

static void mips_timer_dispatch(void)
{
do_IRQ(mips_cpu_timer_irq);
Expand Down Expand Up @@ -117,6 +143,7 @@ irqreturn_t mips_timer_interrupt(int irq, void *dev_id)
if (cpu_data[cpu].vpe_id == 0) {
timer_interrupt(irq, NULL);
smtc_timer_broadcast(cpu_data[cpu].vpe_id);
scroll_display_message();
} else {
write_c0_compare(read_c0_count() +
(mips_hpt_frequency/HZ));
Expand All @@ -140,6 +167,8 @@ irqreturn_t mips_timer_interrupt(int irq, void *dev_id)
/* we keep interrupt disabled all the time */
if (!r2 || (read_c0_cause() & (1 << 30)))
timer_interrupt(irq, NULL);

scroll_display_message();
} else {
/* Everyone else needs to reset the timer int here as
ll_local_timer_interrupt doesn't */
Expand Down Expand Up @@ -233,8 +262,6 @@ void __init mips_time_init(void)
(est_freq%1000000)*100/1000000);

cpu_khz = est_freq / 1000;

mips_scroll_message();
}

void __init plat_timer_setup(struct irqaction *irq)
Expand Down
6 changes: 0 additions & 6 deletions trunk/arch/mips/mips-boards/malta/malta_setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,6 @@ const char *get_system_type(void)
return "MIPS Malta";
}

#if defined(CONFIG_MIPS_MT_SMTC)
const char display_string[] = " SMTC LINUX ON MALTA ";
#else
const char display_string[] = " LINUX ON MALTA ";
#endif /* CONFIG_MIPS_MT_SMTC */

#ifdef CONFIG_BLK_DEV_FD
void __init fd_activate(void)
{
Expand Down
2 changes: 0 additions & 2 deletions trunk/arch/mips/mips-boards/sead/sead_setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@ const char *get_system_type(void)
return "MIPS SEAD";
}

const char display_string[] = " LINUX ON SEAD ";

void __init plat_mem_setup(void)
{
ioport_resource.end = 0x7fffffff;
Expand Down
5 changes: 2 additions & 3 deletions trunk/arch/mips/mm/dma-default.c
Original file line number Diff line number Diff line change
Expand Up @@ -168,9 +168,8 @@ int dma_map_sg(struct device *dev, struct scatterlist *sg, int nents,
addr = (unsigned long) page_address(sg->page);
if (!plat_device_is_coherent(dev) && addr)
__dma_sync(addr + sg->offset, sg->length, direction);
sg->dma_address = plat_map_dma_mem(dev,
(void *)(addr + sg->offset),
sg->length);
sg->dma_address = plat_map_dma_mem_page(dev, sg->page) +
sg->offset;
}

return nents;
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/mips/qemu/q-irq.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
#include <asm/system.h>
#include <asm/time.h>

extern asmlinkage void qemu_handle_int(void);

asmlinkage void plat_irq_dispatch(void)
{
unsigned int pending = read_c0_status() & read_c0_cause();
Expand Down
Loading

0 comments on commit b7c40c2

Please sign in to comment.