mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts: arch/sparc64/kernel/idprom.c
This commit is contained in:
commit
e3c6d4ee54
3086 changed files with 148167 additions and 83840 deletions
|
|
@ -19,15 +19,18 @@ void foo(void)
|
|||
BLANK();
|
||||
|
||||
DEFINE(TASK_BLOCKED, offsetof(struct task_struct, blocked));
|
||||
DEFINE(TASK_UID, offsetof(struct task_struct, uid));
|
||||
DEFINE(TASK_EUID, offsetof(struct task_struct, euid));
|
||||
DEFINE(TASK_GID, offsetof(struct task_struct, gid));
|
||||
DEFINE(TASK_EGID, offsetof(struct task_struct, egid));
|
||||
DEFINE(TASK_CRED, offsetof(struct task_struct, cred));
|
||||
DEFINE(TASK_REAL_PARENT, offsetof(struct task_struct, real_parent));
|
||||
DEFINE(TASK_GROUP_LEADER, offsetof(struct task_struct, group_leader));
|
||||
DEFINE(TASK_TGID, offsetof(struct task_struct, tgid));
|
||||
BLANK();
|
||||
|
||||
DEFINE(CRED_UID, offsetof(struct cred, uid));
|
||||
DEFINE(CRED_EUID, offsetof(struct cred, euid));
|
||||
DEFINE(CRED_GID, offsetof(struct cred, gid));
|
||||
DEFINE(CRED_EGID, offsetof(struct cred, egid));
|
||||
BLANK();
|
||||
|
||||
DEFINE(SIZEOF_PT_REGS, sizeof(struct pt_regs));
|
||||
DEFINE(PT_PTRACED, PT_PTRACED);
|
||||
DEFINE(CLONE_VM, CLONE_VM);
|
||||
|
|
|
|||
|
|
@ -850,8 +850,9 @@ osf_getpriority:
|
|||
sys_getxuid:
|
||||
.prologue 0
|
||||
ldq $2, TI_TASK($8)
|
||||
ldl $0, TASK_UID($2)
|
||||
ldl $1, TASK_EUID($2)
|
||||
ldq $3, TASK_CRED($2)
|
||||
ldl $0, CRED_UID($3)
|
||||
ldl $1, CRED_EUID($3)
|
||||
stq $1, 80($sp)
|
||||
ret
|
||||
.end sys_getxuid
|
||||
|
|
@ -862,8 +863,9 @@ sys_getxuid:
|
|||
sys_getxgid:
|
||||
.prologue 0
|
||||
ldq $2, TI_TASK($8)
|
||||
ldl $0, TASK_GID($2)
|
||||
ldl $1, TASK_EGID($2)
|
||||
ldq $3, TASK_CRED($2)
|
||||
ldl $0, CRED_GID($3)
|
||||
ldl $1, CRED_EGID($3)
|
||||
stq $1, 80($sp)
|
||||
ret
|
||||
.end sys_getxgid
|
||||
|
|
|
|||
|
|
@ -630,7 +630,7 @@ __sa1111_probe(struct device *me, struct resource *mem, int irq)
|
|||
return -ENOMEM;
|
||||
|
||||
sachip->clk = clk_get(me, "SA1111_CLK");
|
||||
if (!sachip->clk) {
|
||||
if (IS_ERR(sachip->clk)) {
|
||||
ret = PTR_ERR(sachip->clk);
|
||||
goto err_free;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -237,6 +237,7 @@ extern int _find_next_bit_be(const unsigned long *p, int size, int offset);
|
|||
#if __LINUX_ARM_ARCH__ < 5
|
||||
|
||||
#include <asm-generic/bitops/ffz.h>
|
||||
#include <asm-generic/bitops/__fls.h>
|
||||
#include <asm-generic/bitops/__ffs.h>
|
||||
#include <asm-generic/bitops/fls.h>
|
||||
#include <asm-generic/bitops/ffs.h>
|
||||
|
|
@ -277,16 +278,19 @@ static inline int constant_fls(int x)
|
|||
* the clz instruction for much better code efficiency.
|
||||
*/
|
||||
|
||||
#define __fls(x) \
|
||||
( __builtin_constant_p(x) ? constant_fls(x) : \
|
||||
({ int __r; asm("clz\t%0, %1" : "=r"(__r) : "r"(x) : "cc"); 32-__r; }) )
|
||||
|
||||
/* Implement fls() in C so that 64-bit args are suitably truncated */
|
||||
static inline int fls(int x)
|
||||
{
|
||||
return __fls(x);
|
||||
int ret;
|
||||
|
||||
if (__builtin_constant_p(x))
|
||||
return constant_fls(x);
|
||||
|
||||
asm("clz\t%0, %1" : "=r" (ret) : "r" (x) : "cc");
|
||||
ret = 32 - ret;
|
||||
return ret;
|
||||
}
|
||||
|
||||
#define __fls(x) (fls(x) - 1)
|
||||
#define ffs(x) ({ unsigned long __t = (x); fls(__t & -__t); })
|
||||
#define __ffs(x) (ffs(x) - 1)
|
||||
#define ffz(x) __ffs( ~(x) )
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
#include <asm/types.h>
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#define STACK_TOP ((current->personality == PER_LINUX_32BIT) ? \
|
||||
#define STACK_TOP ((current->personality & ADDR_LIMIT_32BIT) ? \
|
||||
TASK_SIZE : TASK_SIZE_26)
|
||||
#define STACK_TOP_MAX TASK_SIZE
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -115,6 +115,8 @@ EXPORT_SYMBOL(__strnlen_user);
|
|||
EXPORT_SYMBOL(__strncpy_from_user);
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
EXPORT_SYMBOL(copy_page);
|
||||
|
||||
EXPORT_SYMBOL(__copy_from_user);
|
||||
EXPORT_SYMBOL(__copy_to_user);
|
||||
EXPORT_SYMBOL(__clear_user);
|
||||
|
|
@ -181,8 +183,6 @@ EXPORT_SYMBOL(_find_first_bit_be);
|
|||
EXPORT_SYMBOL(_find_next_bit_be);
|
||||
#endif
|
||||
|
||||
EXPORT_SYMBOL(copy_page);
|
||||
|
||||
#ifdef CONFIG_FUNCTION_TRACER
|
||||
EXPORT_SYMBOL(mcount);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
#include <linux/personality.h>
|
||||
#include <linux/kallsyms.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/hardirq.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/uaccess.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -177,7 +177,6 @@ static irqreturn_t fsg_reset_handler(int irq, void *dev_id)
|
|||
|
||||
static void __init fsg_init(void)
|
||||
{
|
||||
DECLARE_MAC_BUF(mac_buf);
|
||||
uint8_t __iomem *f;
|
||||
|
||||
ixp4xx_sys_init();
|
||||
|
|
@ -256,10 +255,10 @@ static void __init fsg_init(void)
|
|||
#endif
|
||||
iounmap(f);
|
||||
}
|
||||
printk(KERN_INFO "FSG: Using MAC address %s for port 0\n",
|
||||
print_mac(mac_buf, fsg_plat_eth[0].hwaddr));
|
||||
printk(KERN_INFO "FSG: Using MAC address %s for port 1\n",
|
||||
print_mac(mac_buf, fsg_plat_eth[1].hwaddr));
|
||||
printk(KERN_INFO "FSG: Using MAC address %pM for port 0\n",
|
||||
fsg_plat_eth[0].hwaddr);
|
||||
printk(KERN_INFO "FSG: Using MAC address %pM for port 1\n",
|
||||
fsg_plat_eth[1].hwaddr);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,8 @@
|
|||
#include <linux/io.h>
|
||||
#include <linux/kernel.h>
|
||||
|
||||
#define DEBUG_QMGR 0
|
||||
|
||||
#define HALF_QUEUES 32
|
||||
#define QUEUES 64 /* only 32 lower queues currently supported */
|
||||
#define MAX_QUEUE_LENGTH 4 /* in dwords */
|
||||
|
|
@ -61,22 +63,51 @@ void qmgr_enable_irq(unsigned int queue);
|
|||
void qmgr_disable_irq(unsigned int queue);
|
||||
|
||||
/* request_ and release_queue() must be called from non-IRQ context */
|
||||
|
||||
#if DEBUG_QMGR
|
||||
extern char qmgr_queue_descs[QUEUES][32];
|
||||
|
||||
int qmgr_request_queue(unsigned int queue, unsigned int len /* dwords */,
|
||||
unsigned int nearly_empty_watermark,
|
||||
unsigned int nearly_full_watermark);
|
||||
unsigned int nearly_full_watermark,
|
||||
const char *desc_format, const char* name);
|
||||
#else
|
||||
int __qmgr_request_queue(unsigned int queue, unsigned int len /* dwords */,
|
||||
unsigned int nearly_empty_watermark,
|
||||
unsigned int nearly_full_watermark);
|
||||
#define qmgr_request_queue(queue, len, nearly_empty_watermark, \
|
||||
nearly_full_watermark, desc_format, name) \
|
||||
__qmgr_request_queue(queue, len, nearly_empty_watermark, \
|
||||
nearly_full_watermark)
|
||||
#endif
|
||||
|
||||
void qmgr_release_queue(unsigned int queue);
|
||||
|
||||
|
||||
static inline void qmgr_put_entry(unsigned int queue, u32 val)
|
||||
{
|
||||
extern struct qmgr_regs __iomem *qmgr_regs;
|
||||
#if DEBUG_QMGR
|
||||
BUG_ON(!qmgr_queue_descs[queue]); /* not yet requested */
|
||||
|
||||
printk(KERN_DEBUG "Queue %s(%i) put %X\n",
|
||||
qmgr_queue_descs[queue], queue, val);
|
||||
#endif
|
||||
__raw_writel(val, &qmgr_regs->acc[queue][0]);
|
||||
}
|
||||
|
||||
static inline u32 qmgr_get_entry(unsigned int queue)
|
||||
{
|
||||
u32 val;
|
||||
extern struct qmgr_regs __iomem *qmgr_regs;
|
||||
return __raw_readl(&qmgr_regs->acc[queue][0]);
|
||||
val = __raw_readl(&qmgr_regs->acc[queue][0]);
|
||||
#if DEBUG_QMGR
|
||||
BUG_ON(!qmgr_queue_descs[queue]); /* not yet requested */
|
||||
|
||||
printk(KERN_DEBUG "Queue %s(%i) get %X\n",
|
||||
qmgr_queue_descs[queue], queue, val);
|
||||
#endif
|
||||
return val;
|
||||
}
|
||||
|
||||
static inline int qmgr_get_stat1(unsigned int queue)
|
||||
|
|
|
|||
|
|
@ -14,8 +14,6 @@
|
|||
#include <linux/module.h>
|
||||
#include <mach/qmgr.h>
|
||||
|
||||
#define DEBUG 0
|
||||
|
||||
struct qmgr_regs __iomem *qmgr_regs;
|
||||
static struct resource *mem_res;
|
||||
static spinlock_t qmgr_lock;
|
||||
|
|
@ -23,6 +21,10 @@ static u32 used_sram_bitmap[4]; /* 128 16-dword pages */
|
|||
static void (*irq_handlers[HALF_QUEUES])(void *pdev);
|
||||
static void *irq_pdevs[HALF_QUEUES];
|
||||
|
||||
#if DEBUG_QMGR
|
||||
char qmgr_queue_descs[QUEUES][32];
|
||||
#endif
|
||||
|
||||
void qmgr_set_irq(unsigned int queue, int src,
|
||||
void (*handler)(void *pdev), void *pdev)
|
||||
{
|
||||
|
|
@ -70,6 +72,7 @@ void qmgr_disable_irq(unsigned int queue)
|
|||
spin_lock_irqsave(&qmgr_lock, flags);
|
||||
__raw_writel(__raw_readl(&qmgr_regs->irqen[0]) & ~(1 << queue),
|
||||
&qmgr_regs->irqen[0]);
|
||||
__raw_writel(1 << queue, &qmgr_regs->irqstat[0]); /* clear */
|
||||
spin_unlock_irqrestore(&qmgr_lock, flags);
|
||||
}
|
||||
|
||||
|
|
@ -81,9 +84,16 @@ static inline void shift_mask(u32 *mask)
|
|||
mask[0] <<= 1;
|
||||
}
|
||||
|
||||
#if DEBUG_QMGR
|
||||
int qmgr_request_queue(unsigned int queue, unsigned int len /* dwords */,
|
||||
unsigned int nearly_empty_watermark,
|
||||
unsigned int nearly_full_watermark)
|
||||
unsigned int nearly_full_watermark,
|
||||
const char *desc_format, const char* name)
|
||||
#else
|
||||
int __qmgr_request_queue(unsigned int queue, unsigned int len /* dwords */,
|
||||
unsigned int nearly_empty_watermark,
|
||||
unsigned int nearly_full_watermark)
|
||||
#endif
|
||||
{
|
||||
u32 cfg, addr = 0, mask[4]; /* in 16-dwords */
|
||||
int err;
|
||||
|
|
@ -151,12 +161,13 @@ int qmgr_request_queue(unsigned int queue, unsigned int len /* dwords */,
|
|||
used_sram_bitmap[2] |= mask[2];
|
||||
used_sram_bitmap[3] |= mask[3];
|
||||
__raw_writel(cfg | (addr << 14), &qmgr_regs->sram[queue]);
|
||||
spin_unlock_irq(&qmgr_lock);
|
||||
|
||||
#if DEBUG
|
||||
printk(KERN_DEBUG "qmgr: requested queue %i, addr = 0x%02X\n",
|
||||
queue, addr);
|
||||
#if DEBUG_QMGR
|
||||
snprintf(qmgr_queue_descs[queue], sizeof(qmgr_queue_descs[0]),
|
||||
desc_format, name);
|
||||
printk(KERN_DEBUG "qmgr: requested queue %s(%i) addr = 0x%02X\n",
|
||||
qmgr_queue_descs[queue], queue, addr);
|
||||
#endif
|
||||
spin_unlock_irq(&qmgr_lock);
|
||||
return 0;
|
||||
|
||||
err:
|
||||
|
|
@ -189,6 +200,11 @@ void qmgr_release_queue(unsigned int queue)
|
|||
while (addr--)
|
||||
shift_mask(mask);
|
||||
|
||||
#if DEBUG_QMGR
|
||||
printk(KERN_DEBUG "qmgr: releasing queue %s(%i)\n",
|
||||
qmgr_queue_descs[queue], queue);
|
||||
qmgr_queue_descs[queue][0] = '\x0';
|
||||
#endif
|
||||
__raw_writel(0, &qmgr_regs->sram[queue]);
|
||||
|
||||
used_sram_bitmap[0] &= ~mask[0];
|
||||
|
|
@ -199,9 +215,10 @@ void qmgr_release_queue(unsigned int queue)
|
|||
spin_unlock_irq(&qmgr_lock);
|
||||
|
||||
module_put(THIS_MODULE);
|
||||
#if DEBUG
|
||||
printk(KERN_DEBUG "qmgr: released queue %i\n", queue);
|
||||
#endif
|
||||
|
||||
while ((addr = qmgr_get_entry(queue)))
|
||||
printk(KERN_ERR "qmgr: released queue %i not empty: 0x%08X\n",
|
||||
queue, addr);
|
||||
}
|
||||
|
||||
static int qmgr_init(void)
|
||||
|
|
@ -272,5 +289,10 @@ EXPORT_SYMBOL(qmgr_regs);
|
|||
EXPORT_SYMBOL(qmgr_set_irq);
|
||||
EXPORT_SYMBOL(qmgr_enable_irq);
|
||||
EXPORT_SYMBOL(qmgr_disable_irq);
|
||||
#if DEBUG_QMGR
|
||||
EXPORT_SYMBOL(qmgr_queue_descs);
|
||||
EXPORT_SYMBOL(qmgr_request_queue);
|
||||
#else
|
||||
EXPORT_SYMBOL(__qmgr_request_queue);
|
||||
#endif
|
||||
EXPORT_SYMBOL(qmgr_release_queue);
|
||||
|
|
|
|||
|
|
@ -231,7 +231,6 @@ static irqreturn_t nas100d_reset_handler(int irq, void *dev_id)
|
|||
|
||||
static void __init nas100d_init(void)
|
||||
{
|
||||
DECLARE_MAC_BUF(mac_buf);
|
||||
uint8_t __iomem *f;
|
||||
int i;
|
||||
|
||||
|
|
@ -294,8 +293,8 @@ static void __init nas100d_init(void)
|
|||
#endif
|
||||
iounmap(f);
|
||||
}
|
||||
printk(KERN_INFO "NAS100D: Using MAC address %s for port 0\n",
|
||||
print_mac(mac_buf, nas100d_plat_eth[0].hwaddr));
|
||||
printk(KERN_INFO "NAS100D: Using MAC address %pM for port 0\n",
|
||||
nas100d_plat_eth[0].hwaddr);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -220,7 +220,6 @@ static struct sys_timer nslu2_timer = {
|
|||
|
||||
static void __init nslu2_init(void)
|
||||
{
|
||||
DECLARE_MAC_BUF(mac_buf);
|
||||
uint8_t __iomem *f;
|
||||
int i;
|
||||
|
||||
|
|
@ -275,8 +274,8 @@ static void __init nslu2_init(void)
|
|||
#endif
|
||||
iounmap(f);
|
||||
}
|
||||
printk(KERN_INFO "NSLU2: Using MAC address %s for port 0\n",
|
||||
print_mac(mac_buf, nslu2_plat_eth[0].hwaddr));
|
||||
printk(KERN_INFO "NSLU2: Using MAC address %pM for port 0\n",
|
||||
nslu2_plat_eth[0].hwaddr);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -128,7 +128,7 @@ void __init omap1_map_common_io(void)
|
|||
* Common low-level hardware init for omap1. This should only get called from
|
||||
* board specific init.
|
||||
*/
|
||||
void __init omap1_init_common_hw()
|
||||
void __init omap1_init_common_hw(void)
|
||||
{
|
||||
/* REVISIT: Refer to OMAP5910 Errata, Advisory SYS_1: "Timeout Abort
|
||||
* on a Posted Write in the TIPB Bridge".
|
||||
|
|
|
|||
13
arch/arm/mach-pxa/include/mach/palmasoc.h
Normal file
13
arch/arm/mach-pxa/include/mach/palmasoc.h
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#ifndef _INCLUDE_PALMASOC_H_
|
||||
#define _INCLUDE_PALMASOC_H_
|
||||
struct palm27x_asoc_info {
|
||||
int jack_gpio;
|
||||
};
|
||||
|
||||
#ifdef CONFIG_SND_PXA2XX_SOC_PALM27X
|
||||
void __init palm27x_asoc_set_pdata(struct palm27x_asoc_info *data);
|
||||
#else
|
||||
static inline void palm27x_asoc_set_pdata(struct palm27x_asoc_info *data) {}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -12,9 +12,8 @@ extern void clear_reset_status(unsigned int mask);
|
|||
|
||||
/**
|
||||
* init_gpio_reset() - register GPIO as reset generator
|
||||
*
|
||||
* @gpio - gpio nr
|
||||
* @output - set gpio as out/low instead of input during normal work
|
||||
* @gpio: gpio nr
|
||||
* @output: set gpio as out/low instead of input during normal work
|
||||
*/
|
||||
extern int init_gpio_reset(int gpio, int output);
|
||||
|
||||
|
|
|
|||
|
|
@ -70,6 +70,10 @@ static unsigned long ai_dword;
|
|||
static unsigned long ai_multi;
|
||||
static int ai_usermode;
|
||||
|
||||
#define UM_WARN (1 << 0)
|
||||
#define UM_FIXUP (1 << 1)
|
||||
#define UM_SIGNAL (1 << 2)
|
||||
|
||||
#ifdef CONFIG_PROC_FS
|
||||
static const char *usermode_action[] = {
|
||||
"ignored",
|
||||
|
|
@ -754,7 +758,7 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
|
|||
user:
|
||||
ai_user += 1;
|
||||
|
||||
if (ai_usermode & 1)
|
||||
if (ai_usermode & UM_WARN)
|
||||
printk("Alignment trap: %s (%d) PC=0x%08lx Instr=0x%0*lx "
|
||||
"Address=0x%08lx FSR 0x%03x\n", current->comm,
|
||||
task_pid_nr(current), instrptr,
|
||||
|
|
@ -762,10 +766,10 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
|
|||
thumb_mode(regs) ? tinstr : instr,
|
||||
addr, fsr);
|
||||
|
||||
if (ai_usermode & 2)
|
||||
if (ai_usermode & UM_FIXUP)
|
||||
goto fixup;
|
||||
|
||||
if (ai_usermode & 4)
|
||||
if (ai_usermode & UM_SIGNAL)
|
||||
force_sig(SIGBUS, current);
|
||||
else
|
||||
set_cr(cr_no_alignment);
|
||||
|
|
@ -796,6 +800,22 @@ static int __init alignment_init(void)
|
|||
res->write_proc = proc_alignment_write;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* ARMv6 and later CPUs can perform unaligned accesses for
|
||||
* most single load and store instructions up to word size.
|
||||
* LDM, STM, LDRD and STRD still need to be handled.
|
||||
*
|
||||
* Ignoring the alignment fault is not an option on these
|
||||
* CPUs since we spin re-faulting the instruction without
|
||||
* making any progress.
|
||||
*/
|
||||
if (cpu_architecture() >= CPU_ARCH_ARMv6 && (cr_alignment & CR_U)) {
|
||||
cr_alignment &= ~CR_A;
|
||||
cr_no_alignment &= ~CR_A;
|
||||
set_cr(cr_alignment);
|
||||
ai_usermode = UM_FIXUP;
|
||||
}
|
||||
|
||||
hook_fault_code(1, do_alignment, SIGILL, "alignment exception");
|
||||
hook_fault_code(3, do_alignment, SIGILL, "alignment exception");
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#include <linux/module.h>
|
||||
#include <linux/signal.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/hardirq.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/kprobes.h>
|
||||
#include <linux/uaccess.h>
|
||||
|
|
|
|||
|
|
@ -353,8 +353,8 @@ struct omapfb_device {
|
|||
u32 pseudo_palette[17];
|
||||
|
||||
struct lcd_panel *panel; /* LCD panel */
|
||||
struct lcd_ctrl *ctrl; /* LCD controller */
|
||||
struct lcd_ctrl *int_ctrl; /* internal LCD ctrl */
|
||||
const struct lcd_ctrl *ctrl; /* LCD controller */
|
||||
const struct lcd_ctrl *int_ctrl; /* internal LCD ctrl */
|
||||
struct lcd_ctrl_extif *ext_if; /* LCD ctrl external
|
||||
interface */
|
||||
struct device *dev;
|
||||
|
|
|
|||
|
|
@ -255,7 +255,7 @@ void omap_sram_reprogram_clock(u32 dpllctl, u32 ckctl)
|
|||
if (!_omap_sram_reprogram_clock)
|
||||
omap_sram_error();
|
||||
|
||||
return _omap_sram_reprogram_clock(dpllctl, ckctl);
|
||||
_omap_sram_reprogram_clock(dpllctl, ckctl);
|
||||
}
|
||||
|
||||
int __init omap1_sram_init(void)
|
||||
|
|
@ -282,8 +282,8 @@ void omap2_sram_ddr_init(u32 *slow_dll_ctrl, u32 fast_dll_ctrl,
|
|||
if (!_omap2_sram_ddr_init)
|
||||
omap_sram_error();
|
||||
|
||||
return _omap2_sram_ddr_init(slow_dll_ctrl, fast_dll_ctrl,
|
||||
base_cs, force_unlock);
|
||||
_omap2_sram_ddr_init(slow_dll_ctrl, fast_dll_ctrl,
|
||||
base_cs, force_unlock);
|
||||
}
|
||||
|
||||
static void (*_omap2_sram_reprogram_sdrc)(u32 perf_level, u32 dll_val,
|
||||
|
|
@ -294,7 +294,7 @@ void omap2_sram_reprogram_sdrc(u32 perf_level, u32 dll_val, u32 mem_type)
|
|||
if (!_omap2_sram_reprogram_sdrc)
|
||||
omap_sram_error();
|
||||
|
||||
return _omap2_sram_reprogram_sdrc(perf_level, dll_val, mem_type);
|
||||
_omap2_sram_reprogram_sdrc(perf_level, dll_val, mem_type);
|
||||
}
|
||||
|
||||
static u32 (*_omap2_set_prcm)(u32 dpll_ctrl_val, u32 sdrc_rfr_val, int bypass);
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@
|
|||
#define PCIE_CONF_REG(r) ((((r) & 0xf00) << 16) | ((r) & 0xfc))
|
||||
#define PCIE_CONF_BUS(b) (((b) & 0xff) << 16)
|
||||
#define PCIE_CONF_DEV(d) (((d) & 0x1f) << 11)
|
||||
#define PCIE_CONF_FUNC(f) (((f) & 0x3) << 8)
|
||||
#define PCIE_CONF_FUNC(f) (((f) & 0x7) << 8)
|
||||
#define PCIE_CONF_DATA_OFF 0x18fc
|
||||
#define PCIE_MASK_OFF 0x1910
|
||||
#define PCIE_CTRL_OFF 0x1a00
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
#include <linux/mtd/partitions.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
|
||||
#include <asm/arch/smc.h>
|
||||
#include <mach/smc.h>
|
||||
|
||||
static struct smc_timing flash_timing __initdata = {
|
||||
.ncs_read_setup = 0,
|
||||
|
|
|
|||
|
|
@ -25,10 +25,10 @@
|
|||
|
||||
#include <asm/setup.h>
|
||||
|
||||
#include <asm/arch/at32ap700x.h>
|
||||
#include <asm/arch/init.h>
|
||||
#include <asm/arch/board.h>
|
||||
#include <asm/arch/portmux.h>
|
||||
#include <mach/at32ap700x.h>
|
||||
#include <mach/init.h>
|
||||
#include <mach/board.h>
|
||||
#include <mach/portmux.h>
|
||||
|
||||
/* Oscillator frequencies. These are board-specific */
|
||||
unsigned long at32_board_osc_rates[3] = {
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ MKIMAGE := $(srctree)/scripts/mkuboot.sh
|
|||
|
||||
extra-y := vmlinux.bin vmlinux.gz
|
||||
|
||||
OBJCOPYFLAGS_vmlinux.bin := -O binary
|
||||
OBJCOPYFLAGS_vmlinux.bin := -O binary -R .note.gnu.build-id
|
||||
$(obj)/vmlinux.bin: vmlinux FORCE
|
||||
$(call if_changed,objcopy)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.27-rc1
|
||||
# Tue Aug 5 15:40:26 2008
|
||||
# Linux kernel version: 2.6.28-rc8
|
||||
# Thu Dec 18 11:22:23 2008
|
||||
#
|
||||
CONFIG_AVR32=y
|
||||
CONFIG_GENERIC_GPIO=y
|
||||
|
|
@ -67,6 +67,7 @@ CONFIG_SIGNALFD=y
|
|||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_AIO=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLUB_DEBUG=y
|
||||
# CONFIG_SLAB is not set
|
||||
|
|
@ -77,15 +78,8 @@ CONFIG_PROFILING=y
|
|||
CONFIG_OPROFILE=m
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
CONFIG_KPROBES=y
|
||||
# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
|
||||
# CONFIG_HAVE_IOREMAP_PROT is not set
|
||||
CONFIG_HAVE_KPROBES=y
|
||||
# CONFIG_HAVE_KRETPROBES is not set
|
||||
# CONFIG_HAVE_ARCH_TRACEHOOK is not set
|
||||
# CONFIG_HAVE_DMA_ATTRS is not set
|
||||
# CONFIG_USE_GENERIC_SMP_HELPERS is not set
|
||||
CONFIG_HAVE_CLK=y
|
||||
CONFIG_PROC_PAGE_MONITOR=y
|
||||
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
|
||||
CONFIG_SLABINFO=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
|
|
@ -118,6 +112,7 @@ CONFIG_DEFAULT_CFQ=y
|
|||
# CONFIG_DEFAULT_NOOP is not set
|
||||
CONFIG_DEFAULT_IOSCHED="cfq"
|
||||
CONFIG_CLASSIC_RCU=y
|
||||
CONFIG_FREEZER=y
|
||||
|
||||
#
|
||||
# System Type and features
|
||||
|
|
@ -134,6 +129,8 @@ CONFIG_CPU_AT32AP700X=y
|
|||
CONFIG_CPU_AT32AP7000=y
|
||||
CONFIG_BOARD_ATSTK1000=y
|
||||
# CONFIG_BOARD_ATNGW100 is not set
|
||||
# CONFIG_BOARD_FAVR_32 is not set
|
||||
# CONFIG_BOARD_MIMC200 is not set
|
||||
# CONFIG_BOARD_ATSTK1002 is not set
|
||||
# CONFIG_BOARD_ATSTK1003 is not set
|
||||
# CONFIG_BOARD_ATSTK1004 is not set
|
||||
|
|
@ -171,14 +168,14 @@ CONFIG_FLATMEM_MANUAL=y
|
|||
# CONFIG_SPARSEMEM_MANUAL is not set
|
||||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
|
||||
CONFIG_PAGEFLAGS_EXTENDED=y
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
# CONFIG_PHYS_ADDR_T_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=0
|
||||
CONFIG_NR_QUICK=2
|
||||
CONFIG_VIRT_TO_BUS=y
|
||||
CONFIG_UNEVICTABLE_LRU=y
|
||||
# CONFIG_OWNERSHIP_TRACE is not set
|
||||
CONFIG_NMI_DEBUGGING=y
|
||||
# CONFIG_HZ_100 is not set
|
||||
|
|
@ -186,7 +183,7 @@ CONFIG_HZ_250=y
|
|||
# CONFIG_HZ_300 is not set
|
||||
# CONFIG_HZ_1000 is not set
|
||||
CONFIG_HZ=250
|
||||
# CONFIG_SCHED_HRTICK is not set
|
||||
CONFIG_SCHED_HRTICK=y
|
||||
CONFIG_CMDLINE=""
|
||||
|
||||
#
|
||||
|
|
@ -228,6 +225,8 @@ CONFIG_CPU_FREQ_AT32AP=y
|
|||
# Executable file formats
|
||||
#
|
||||
CONFIG_BINFMT_ELF=y
|
||||
CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y
|
||||
# CONFIG_HAVE_AOUT is not set
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
CONFIG_NET=y
|
||||
|
||||
|
|
@ -299,6 +298,7 @@ CONFIG_IPV6_TUNNEL=m
|
|||
# CONFIG_ATM is not set
|
||||
CONFIG_STP=m
|
||||
CONFIG_BRIDGE=m
|
||||
# CONFIG_NET_DSA is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
CONFIG_LLC=m
|
||||
|
|
@ -321,14 +321,8 @@ CONFIG_LLC=m
|
|||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
|
||||
#
|
||||
# Wireless
|
||||
#
|
||||
# CONFIG_CFG80211 is not set
|
||||
# CONFIG_WIRELESS_EXT is not set
|
||||
# CONFIG_MAC80211 is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
# CONFIG_PHONET is not set
|
||||
# CONFIG_WIRELESS is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
# CONFIG_NET_9P is not set
|
||||
|
||||
|
|
@ -359,6 +353,7 @@ CONFIG_MTD_CMDLINE_PARTS=y
|
|||
# User Modules And Translation Layers
|
||||
#
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_HAVE_MTD_OTP=y
|
||||
CONFIG_MTD_BLKDEVS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
# CONFIG_FTL is not set
|
||||
|
|
@ -407,6 +402,8 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
|
|||
# Self-contained MTD device drivers
|
||||
#
|
||||
CONFIG_MTD_DATAFLASH=m
|
||||
# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set
|
||||
CONFIG_MTD_DATAFLASH_OTP=y
|
||||
CONFIG_MTD_M25P80=m
|
||||
CONFIG_M25PXX_USE_FAST_READ=y
|
||||
# CONFIG_MTD_SLRAM is not set
|
||||
|
|
@ -464,9 +461,10 @@ CONFIG_ATMEL_TCLIB=y
|
|||
CONFIG_ATMEL_TCB_CLKSRC=y
|
||||
CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0
|
||||
# CONFIG_EEPROM_93CX6 is not set
|
||||
# CONFIG_ICS932S401 is not set
|
||||
CONFIG_ATMEL_SSC=m
|
||||
# CONFIG_ENCLOSURE_SERVICES is not set
|
||||
# CONFIG_HAVE_IDE is not set
|
||||
# CONFIG_C2PORT is not set
|
||||
|
||||
#
|
||||
# SCSI device support
|
||||
|
|
@ -548,6 +546,9 @@ CONFIG_MACB=y
|
|||
# CONFIG_IBM_NEW_EMAC_RGMII is not set
|
||||
# CONFIG_IBM_NEW_EMAC_TAH is not set
|
||||
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
|
||||
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
|
||||
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
|
||||
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
|
||||
# CONFIG_B44 is not set
|
||||
# CONFIG_NETDEV_1000 is not set
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
|
|
@ -653,6 +654,7 @@ CONFIG_UNIX98_PTYS=y
|
|||
CONFIG_I2C=m
|
||||
CONFIG_I2C_BOARDINFO=y
|
||||
CONFIG_I2C_CHARDEV=m
|
||||
CONFIG_I2C_HELPER_AUTO=y
|
||||
CONFIG_I2C_ALGOBIT=m
|
||||
|
||||
#
|
||||
|
|
@ -716,6 +718,10 @@ CONFIG_GPIOLIB=y
|
|||
# CONFIG_DEBUG_GPIO is not set
|
||||
CONFIG_GPIO_SYSFS=y
|
||||
|
||||
#
|
||||
# Memory mapped GPIO expanders:
|
||||
#
|
||||
|
||||
#
|
||||
# I2C GPIO expanders:
|
||||
#
|
||||
|
|
@ -745,11 +751,11 @@ CONFIG_WATCHDOG=y
|
|||
#
|
||||
# CONFIG_SOFT_WATCHDOG is not set
|
||||
CONFIG_AT32AP700X_WDT=y
|
||||
CONFIG_SSB_POSSIBLE=y
|
||||
|
||||
#
|
||||
# Sonics Silicon Backplane
|
||||
#
|
||||
CONFIG_SSB_POSSIBLE=y
|
||||
# CONFIG_SSB is not set
|
||||
|
||||
#
|
||||
|
|
@ -758,6 +764,10 @@ CONFIG_SSB_POSSIBLE=y
|
|||
# CONFIG_MFD_CORE is not set
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
# CONFIG_HTC_PASIC3 is not set
|
||||
# CONFIG_MFD_TMIO is not set
|
||||
# CONFIG_MFD_WM8400 is not set
|
||||
# CONFIG_MFD_WM8350_I2C is not set
|
||||
# CONFIG_REGULATOR is not set
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
|
|
@ -783,6 +793,7 @@ CONFIG_SSB_POSSIBLE=y
|
|||
CONFIG_FB=y
|
||||
# CONFIG_FIRMWARE_EDID is not set
|
||||
# CONFIG_FB_DDC is not set
|
||||
# CONFIG_FB_BOOT_VESA_SUPPORT is not set
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
|
|
@ -804,10 +815,13 @@ CONFIG_FB_CFB_IMAGEBLIT=y
|
|||
# CONFIG_FB_S1D13XXX is not set
|
||||
CONFIG_FB_ATMEL=y
|
||||
# CONFIG_FB_VIRTUAL is not set
|
||||
# CONFIG_FB_METRONOME is not set
|
||||
# CONFIG_FB_MB862XX is not set
|
||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
CONFIG_LCD_CLASS_DEVICE=y
|
||||
CONFIG_LCD_LTV350QV=y
|
||||
# CONFIG_LCD_ILI9320 is not set
|
||||
# CONFIG_LCD_TDO24M is not set
|
||||
# CONFIG_LCD_VGG2432A4 is not set
|
||||
# CONFIG_LCD_PLATFORM is not set
|
||||
# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
|
||||
|
|
@ -818,6 +832,7 @@ CONFIG_LCD_LTV350QV=y
|
|||
# CONFIG_DISPLAY_SUPPORT is not set
|
||||
# CONFIG_LOGO is not set
|
||||
CONFIG_SOUND=m
|
||||
CONFIG_SOUND_OSS_CORE=y
|
||||
CONFIG_SND=m
|
||||
CONFIG_SND_TIMER=m
|
||||
CONFIG_SND_PCM=m
|
||||
|
|
@ -848,28 +863,32 @@ CONFIG_USB_SUPPORT=y
|
|||
# CONFIG_USB_ARCH_HAS_EHCI is not set
|
||||
# CONFIG_USB_OTG_WHITELIST is not set
|
||||
# CONFIG_USB_OTG_BLACKLIST_HUB is not set
|
||||
# CONFIG_USB_MUSB_HDRC is not set
|
||||
# CONFIG_USB_GADGET_MUSB_HDRC is not set
|
||||
|
||||
#
|
||||
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
|
||||
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
|
||||
#
|
||||
CONFIG_USB_GADGET=y
|
||||
# CONFIG_USB_GADGET_DEBUG is not set
|
||||
# CONFIG_USB_GADGET_DEBUG_FILES is not set
|
||||
# CONFIG_USB_GADGET_DEBUG_FS is not set
|
||||
CONFIG_USB_GADGET_VBUS_DRAW=2
|
||||
CONFIG_USB_GADGET_SELECTED=y
|
||||
# CONFIG_USB_GADGET_AMD5536UDC is not set
|
||||
# CONFIG_USB_GADGET_AT91 is not set
|
||||
CONFIG_USB_GADGET_ATMEL_USBA=y
|
||||
CONFIG_USB_ATMEL_USBA=y
|
||||
# CONFIG_USB_GADGET_FSL_USB2 is not set
|
||||
# CONFIG_USB_GADGET_NET2280 is not set
|
||||
# CONFIG_USB_GADGET_PXA25X is not set
|
||||
# CONFIG_USB_GADGET_M66592 is not set
|
||||
# CONFIG_USB_GADGET_PXA27X is not set
|
||||
# CONFIG_USB_GADGET_GOKU is not set
|
||||
# CONFIG_USB_GADGET_LH7A40X is not set
|
||||
# CONFIG_USB_GADGET_OMAP is not set
|
||||
# CONFIG_USB_GADGET_PXA25X is not set
|
||||
# CONFIG_USB_GADGET_PXA27X is not set
|
||||
# CONFIG_USB_GADGET_S3C2410 is not set
|
||||
# CONFIG_USB_GADGET_AT91 is not set
|
||||
# CONFIG_USB_GADGET_M66592 is not set
|
||||
# CONFIG_USB_GADGET_AMD5536UDC is not set
|
||||
# CONFIG_USB_GADGET_FSL_QE is not set
|
||||
# CONFIG_USB_GADGET_NET2280 is not set
|
||||
# CONFIG_USB_GADGET_GOKU is not set
|
||||
# CONFIG_USB_GADGET_DUMMY_HCD is not set
|
||||
CONFIG_USB_GADGET_DUALSPEED=y
|
||||
CONFIG_USB_ZERO=m
|
||||
|
|
@ -887,7 +906,7 @@ CONFIG_MMC=y
|
|||
# CONFIG_MMC_UNSAFE_RESUME is not set
|
||||
|
||||
#
|
||||
# MMC/SD Card Drivers
|
||||
# MMC/SD/SDIO Card Drivers
|
||||
#
|
||||
CONFIG_MMC_BLOCK=y
|
||||
CONFIG_MMC_BLOCK_BOUNCE=y
|
||||
|
|
@ -895,10 +914,11 @@ CONFIG_MMC_BLOCK_BOUNCE=y
|
|||
# CONFIG_MMC_TEST is not set
|
||||
|
||||
#
|
||||
# MMC/SD Host Controller Drivers
|
||||
# MMC/SD/SDIO Host Controller Drivers
|
||||
#
|
||||
# CONFIG_MMC_SDHCI is not set
|
||||
CONFIG_MMC_ATMELMCI=y
|
||||
# CONFIG_MMC_ATMELMCI_DMA is not set
|
||||
CONFIG_MMC_SPI=m
|
||||
# CONFIG_MEMSTICK is not set
|
||||
CONFIG_NEW_LEDS=y
|
||||
|
|
@ -918,6 +938,7 @@ CONFIG_LEDS_GPIO=m
|
|||
CONFIG_LEDS_TRIGGERS=y
|
||||
CONFIG_LEDS_TRIGGER_TIMER=m
|
||||
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
|
||||
# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
|
||||
CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
|
||||
# CONFIG_ACCESSIBILITY is not set
|
||||
CONFIG_RTC_LIB=y
|
||||
|
|
@ -950,25 +971,31 @@ CONFIG_RTC_INTF_DEV=y
|
|||
# CONFIG_RTC_DRV_M41T80 is not set
|
||||
# CONFIG_RTC_DRV_S35390A is not set
|
||||
# CONFIG_RTC_DRV_FM3130 is not set
|
||||
# CONFIG_RTC_DRV_RX8581 is not set
|
||||
|
||||
#
|
||||
# SPI RTC drivers
|
||||
#
|
||||
# CONFIG_RTC_DRV_M41T94 is not set
|
||||
# CONFIG_RTC_DRV_DS1305 is not set
|
||||
# CONFIG_RTC_DRV_DS1390 is not set
|
||||
# CONFIG_RTC_DRV_MAX6902 is not set
|
||||
# CONFIG_RTC_DRV_R9701 is not set
|
||||
# CONFIG_RTC_DRV_RS5C348 is not set
|
||||
# CONFIG_RTC_DRV_DS3234 is not set
|
||||
|
||||
#
|
||||
# Platform RTC drivers
|
||||
#
|
||||
# CONFIG_RTC_DRV_DS1286 is not set
|
||||
# CONFIG_RTC_DRV_DS1511 is not set
|
||||
# CONFIG_RTC_DRV_DS1553 is not set
|
||||
# CONFIG_RTC_DRV_DS1742 is not set
|
||||
# CONFIG_RTC_DRV_STK17TA8 is not set
|
||||
# CONFIG_RTC_DRV_M48T86 is not set
|
||||
# CONFIG_RTC_DRV_M48T35 is not set
|
||||
# CONFIG_RTC_DRV_M48T59 is not set
|
||||
# CONFIG_RTC_DRV_BQ4802 is not set
|
||||
# CONFIG_RTC_DRV_V3020 is not set
|
||||
|
||||
#
|
||||
|
|
@ -989,6 +1016,8 @@ CONFIG_DMA_ENGINE=y
|
|||
# CONFIG_NET_DMA is not set
|
||||
CONFIG_DMATEST=m
|
||||
# CONFIG_UIO is not set
|
||||
# CONFIG_STAGING is not set
|
||||
CONFIG_STAGING_EXCLUDE_BUILD=y
|
||||
|
||||
#
|
||||
# File systems
|
||||
|
|
@ -998,12 +1027,17 @@ CONFIG_EXT2_FS=m
|
|||
# CONFIG_EXT2_FS_XIP is not set
|
||||
CONFIG_EXT3_FS=m
|
||||
# CONFIG_EXT3_FS_XATTR is not set
|
||||
# CONFIG_EXT4DEV_FS is not set
|
||||
CONFIG_EXT4_FS=m
|
||||
CONFIG_EXT4DEV_COMPAT=y
|
||||
# CONFIG_EXT4_FS_XATTR is not set
|
||||
CONFIG_JBD=m
|
||||
# CONFIG_JBD_DEBUG is not set
|
||||
CONFIG_JBD2=m
|
||||
# CONFIG_JBD2_DEBUG is not set
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
# CONFIG_FS_POSIX_ACL is not set
|
||||
CONFIG_FILE_LOCKING=y
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
# CONFIG_DNOTIFY is not set
|
||||
|
|
@ -1036,6 +1070,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
|
|||
CONFIG_PROC_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_PROC_SYSCTL=y
|
||||
CONFIG_PROC_PAGE_MONITOR=y
|
||||
CONFIG_SYSFS=y
|
||||
CONFIG_TMPFS=y
|
||||
# CONFIG_TMPFS_POSIX_ACL is not set
|
||||
|
|
@ -1054,7 +1089,8 @@ CONFIG_TMPFS=y
|
|||
# CONFIG_EFS_FS is not set
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
# CONFIG_JFFS2_FS_WRITEBUFFER is not set
|
||||
CONFIG_JFFS2_FS_WRITEBUFFER=y
|
||||
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
|
||||
# CONFIG_JFFS2_SUMMARY is not set
|
||||
# CONFIG_JFFS2_FS_XATTR is not set
|
||||
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
|
||||
|
|
@ -1088,6 +1124,7 @@ CONFIG_LOCKD=y
|
|||
CONFIG_LOCKD_V4=y
|
||||
CONFIG_NFS_COMMON=y
|
||||
CONFIG_SUNRPC=y
|
||||
# CONFIG_SUNRPC_REGISTER_V4 is not set
|
||||
# CONFIG_RPCSEC_GSS_KRB5 is not set
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
# CONFIG_SMB_FS is not set
|
||||
|
|
@ -1185,10 +1222,21 @@ CONFIG_DEBUG_BUGVERBOSE=y
|
|||
CONFIG_FRAME_POINTER=y
|
||||
# CONFIG_BOOT_PRINTK_DELAY is not set
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||
# CONFIG_KPROBES_SANITY_TEST is not set
|
||||
# CONFIG_BACKTRACE_SELF_TEST is not set
|
||||
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
|
||||
# CONFIG_LKDTM is not set
|
||||
# CONFIG_FAULT_INJECTION is not set
|
||||
|
||||
#
|
||||
# Tracers
|
||||
#
|
||||
# CONFIG_IRQSOFF_TRACER is not set
|
||||
# CONFIG_SCHED_TRACER is not set
|
||||
# CONFIG_CONTEXT_SWITCH_TRACER is not set
|
||||
# CONFIG_BOOT_TRACER is not set
|
||||
# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
|
||||
# CONFIG_SAMPLES is not set
|
||||
|
||||
#
|
||||
|
|
@ -1196,17 +1244,26 @@ CONFIG_FRAME_POINTER=y
|
|||
#
|
||||
# CONFIG_KEYS is not set
|
||||
# CONFIG_SECURITY is not set
|
||||
# CONFIG_SECURITYFS is not set
|
||||
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
|
||||
CONFIG_CRYPTO=y
|
||||
|
||||
#
|
||||
# Crypto core or helper
|
||||
#
|
||||
CONFIG_CRYPTO_FIPS=y
|
||||
CONFIG_CRYPTO_ALGAPI=y
|
||||
CONFIG_CRYPTO_ALGAPI2=y
|
||||
CONFIG_CRYPTO_AEAD=m
|
||||
CONFIG_CRYPTO_AEAD2=y
|
||||
CONFIG_CRYPTO_BLKCIPHER=m
|
||||
CONFIG_CRYPTO_BLKCIPHER2=y
|
||||
CONFIG_CRYPTO_HASH=m
|
||||
CONFIG_CRYPTO_HASH2=y
|
||||
CONFIG_CRYPTO_RNG=m
|
||||
CONFIG_CRYPTO_RNG2=y
|
||||
CONFIG_CRYPTO_MANAGER=m
|
||||
CONFIG_CRYPTO_MANAGER2=y
|
||||
# CONFIG_CRYPTO_GF128MUL is not set
|
||||
# CONFIG_CRYPTO_NULL is not set
|
||||
# CONFIG_CRYPTO_CRYPTD is not set
|
||||
|
|
@ -1257,7 +1314,7 @@ CONFIG_CRYPTO_SHA1=m
|
|||
#
|
||||
# Ciphers
|
||||
#
|
||||
# CONFIG_CRYPTO_AES is not set
|
||||
CONFIG_CRYPTO_AES=m
|
||||
# CONFIG_CRYPTO_ANUBIS is not set
|
||||
# CONFIG_CRYPTO_ARC4 is not set
|
||||
# CONFIG_CRYPTO_BLOWFISH is not set
|
||||
|
|
@ -1278,14 +1335,17 @@ CONFIG_CRYPTO_DES=m
|
|||
#
|
||||
CONFIG_CRYPTO_DEFLATE=y
|
||||
CONFIG_CRYPTO_LZO=y
|
||||
|
||||
#
|
||||
# Random Number Generation
|
||||
#
|
||||
CONFIG_CRYPTO_ANSI_CPRNG=m
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
|
||||
#
|
||||
# Library routines
|
||||
#
|
||||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_GENERIC_FIND_FIRST_BIT is not set
|
||||
# CONFIG_GENERIC_FIND_NEXT_BIT is not set
|
||||
CONFIG_CRC_CCITT=m
|
||||
CONFIG_CRC16=y
|
||||
CONFIG_CRC_T10DIF=m
|
||||
|
|
|
|||
|
|
@ -967,28 +967,28 @@ static inline void configure_usart0_pins(void)
|
|||
{
|
||||
u32 pin_mask = (1 << 8) | (1 << 9); /* RXD & TXD */
|
||||
|
||||
select_peripheral(PIOA, pin_mask, PERIPH_B, 0);
|
||||
select_peripheral(PIOA, pin_mask, PERIPH_B, AT32_GPIOF_PULLUP);
|
||||
}
|
||||
|
||||
static inline void configure_usart1_pins(void)
|
||||
{
|
||||
u32 pin_mask = (1 << 17) | (1 << 18); /* RXD & TXD */
|
||||
|
||||
select_peripheral(PIOA, pin_mask, PERIPH_A, 0);
|
||||
select_peripheral(PIOA, pin_mask, PERIPH_A, AT32_GPIOF_PULLUP);
|
||||
}
|
||||
|
||||
static inline void configure_usart2_pins(void)
|
||||
{
|
||||
u32 pin_mask = (1 << 26) | (1 << 27); /* RXD & TXD */
|
||||
|
||||
select_peripheral(PIOB, pin_mask, PERIPH_B, 0);
|
||||
select_peripheral(PIOB, pin_mask, PERIPH_B, AT32_GPIOF_PULLUP);
|
||||
}
|
||||
|
||||
static inline void configure_usart3_pins(void)
|
||||
{
|
||||
u32 pin_mask = (1 << 18) | (1 << 17); /* RXD & TXD */
|
||||
|
||||
select_peripheral(PIOB, pin_mask, PERIPH_B, 0);
|
||||
select_peripheral(PIOB, pin_mask, PERIPH_B, AT32_GPIOF_PULLUP);
|
||||
}
|
||||
|
||||
static struct platform_device *__initdata at32_usarts[4];
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ $(obj)/vmlinux.gz: $(obj)/vmlinux.bin FORCE
|
|||
|
||||
$(obj)/vmImage: $(obj)/vmlinux.gz
|
||||
$(call if_changed,uimage)
|
||||
@echo 'Kernel: $@ is ready'
|
||||
@$(kecho) 'Kernel: $@ is ready'
|
||||
|
||||
install:
|
||||
sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(BOOTIMAGE) System.map "$(INSTALL_PATH)"
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ config GENERIC_IOMAP
|
|||
bool
|
||||
default y
|
||||
|
||||
config SCHED_NO_NO_OMIT_FRAME_POINTER
|
||||
config SCHED_OMIT_FRAME_POINTER
|
||||
bool
|
||||
default y
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.27-rc1
|
||||
# Mon Aug 4 15:38:01 2008
|
||||
# Linux kernel version: 2.6.28-rc7
|
||||
# Mon Dec 8 08:12:07 2008
|
||||
#
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
|
|
@ -26,6 +26,7 @@ CONFIG_LOG_BUF_SHIFT=20
|
|||
CONFIG_CGROUPS=y
|
||||
# CONFIG_CGROUP_DEBUG is not set
|
||||
# CONFIG_CGROUP_NS is not set
|
||||
# CONFIG_CGROUP_FREEZER is not set
|
||||
# CONFIG_CGROUP_DEVICE is not set
|
||||
CONFIG_CPUSETS=y
|
||||
# CONFIG_GROUP_SCHED is not set
|
||||
|
|
@ -46,7 +47,6 @@ CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
|||
CONFIG_SYSCTL=y
|
||||
# CONFIG_EMBEDDED is not set
|
||||
CONFIG_SYSCTL_SYSCALL=y
|
||||
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
||||
CONFIG_KALLSYMS=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||
|
|
@ -63,7 +63,9 @@ CONFIG_SIGNALFD=y
|
|||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_AIO=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_PCI_QUIRKS=y
|
||||
CONFIG_SLUB_DEBUG=y
|
||||
# CONFIG_SLAB is not set
|
||||
CONFIG_SLUB=y
|
||||
|
|
@ -72,15 +74,11 @@ CONFIG_SLUB=y
|
|||
# CONFIG_MARKERS is not set
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
# CONFIG_KPROBES is not set
|
||||
# CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS is not set
|
||||
# CONFIG_HAVE_IOREMAP_PROT is not set
|
||||
CONFIG_HAVE_KPROBES=y
|
||||
CONFIG_HAVE_KRETPROBES=y
|
||||
# CONFIG_HAVE_ARCH_TRACEHOOK is not set
|
||||
CONFIG_HAVE_ARCH_TRACEHOOK=y
|
||||
CONFIG_HAVE_DMA_ATTRS=y
|
||||
CONFIG_USE_GENERIC_SMP_HELPERS=y
|
||||
# CONFIG_HAVE_CLK is not set
|
||||
CONFIG_PROC_PAGE_MONITOR=y
|
||||
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
|
||||
CONFIG_SLABINFO=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
|
|
@ -113,6 +111,7 @@ CONFIG_DEFAULT_AS=y
|
|||
# CONFIG_DEFAULT_NOOP is not set
|
||||
CONFIG_DEFAULT_IOSCHED="anticipatory"
|
||||
CONFIG_CLASSIC_RCU=y
|
||||
# CONFIG_FREEZER is not set
|
||||
|
||||
#
|
||||
# Processor type and features
|
||||
|
|
@ -125,8 +124,6 @@ CONFIG_MMU=y
|
|||
CONFIG_SWIOTLB=y
|
||||
CONFIG_IOMMU_HELPER=y
|
||||
CONFIG_RWSEM_XCHGADD_ALGORITHM=y
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_HUGETLB_PAGE_SIZE_VARIABLE=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
|
|
@ -139,13 +136,16 @@ CONFIG_GENERIC_IOMAP=y
|
|||
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
|
||||
CONFIG_IA64_UNCACHED_ALLOCATOR=y
|
||||
CONFIG_AUDIT_ARCH=y
|
||||
# CONFIG_PARAVIRT_GUEST is not set
|
||||
CONFIG_IA64_GENERIC=y
|
||||
# CONFIG_IA64_DIG is not set
|
||||
# CONFIG_IA64_DIG_VTD is not set
|
||||
# CONFIG_IA64_HP_ZX1 is not set
|
||||
# CONFIG_IA64_HP_ZX1_SWIOTLB is not set
|
||||
# CONFIG_IA64_SGI_SN2 is not set
|
||||
# CONFIG_IA64_SGI_UV is not set
|
||||
# CONFIG_IA64_HP_SIM is not set
|
||||
# CONFIG_IA64_XEN_GUEST is not set
|
||||
# CONFIG_ITANIUM is not set
|
||||
CONFIG_MCKINLEY=y
|
||||
# CONFIG_IA64_PAGE_SIZE_4KB is not set
|
||||
|
|
@ -182,16 +182,17 @@ CONFIG_DISCONTIGMEM_MANUAL=y
|
|||
CONFIG_DISCONTIGMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
CONFIG_NEED_MULTIPLE_NODES=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
|
||||
CONFIG_PAGEFLAGS_EXTENDED=y
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
CONFIG_MIGRATION=y
|
||||
CONFIG_RESOURCES_64BIT=y
|
||||
CONFIG_PHYS_ADDR_T_64BIT=y
|
||||
CONFIG_ZONE_DMA_FLAG=1
|
||||
CONFIG_BOUNCE=y
|
||||
CONFIG_NR_QUICK=1
|
||||
CONFIG_VIRT_TO_BUS=y
|
||||
CONFIG_UNEVICTABLE_LRU=y
|
||||
CONFIG_MMU_NOTIFIER=y
|
||||
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_ARCH_DISCONTIGMEM_ENABLE=y
|
||||
|
|
@ -231,12 +232,12 @@ CONFIG_EFI_VARS=y
|
|||
CONFIG_EFI_PCDP=y
|
||||
CONFIG_DMIID=y
|
||||
CONFIG_BINFMT_ELF=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
# CONFIG_HAVE_AOUT is not set
|
||||
CONFIG_BINFMT_MISC=m
|
||||
|
||||
# CONFIG_DMAR is not set
|
||||
|
||||
#
|
||||
# Power management and ACPI
|
||||
# Power management and ACPI options
|
||||
#
|
||||
CONFIG_PM=y
|
||||
# CONFIG_PM_DEBUG is not set
|
||||
|
|
@ -248,7 +249,6 @@ CONFIG_ACPI_PROC_EVENT=y
|
|||
CONFIG_ACPI_BUTTON=m
|
||||
CONFIG_ACPI_FAN=m
|
||||
CONFIG_ACPI_DOCK=y
|
||||
# CONFIG_ACPI_BAY is not set
|
||||
CONFIG_ACPI_PROCESSOR=m
|
||||
CONFIG_ACPI_HOTPLUG_CPU=y
|
||||
CONFIG_ACPI_THERMAL=m
|
||||
|
|
@ -256,9 +256,7 @@ CONFIG_ACPI_NUMA=y
|
|||
# CONFIG_ACPI_CUSTOM_DSDT is not set
|
||||
CONFIG_ACPI_BLACKLIST_YEAR=0
|
||||
# CONFIG_ACPI_DEBUG is not set
|
||||
CONFIG_ACPI_EC=y
|
||||
# CONFIG_ACPI_PCI_SLOT is not set
|
||||
CONFIG_ACPI_POWER=y
|
||||
CONFIG_ACPI_SYSTEM=y
|
||||
CONFIG_ACPI_CONTAINER=m
|
||||
|
||||
|
|
@ -275,7 +273,7 @@ CONFIG_PCI_DOMAINS=y
|
|||
CONFIG_PCI_SYSCALL=y
|
||||
# CONFIG_PCIEPORTBUS is not set
|
||||
CONFIG_ARCH_SUPPORTS_MSI=y
|
||||
# CONFIG_PCI_MSI is not set
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_PCI_LEGACY=y
|
||||
# CONFIG_PCI_DEBUG is not set
|
||||
CONFIG_HOTPLUG_PCI=m
|
||||
|
|
@ -286,6 +284,7 @@ CONFIG_HOTPLUG_PCI_ACPI=m
|
|||
# CONFIG_HOTPLUG_PCI_SHPC is not set
|
||||
# CONFIG_HOTPLUG_PCI_SGI is not set
|
||||
# CONFIG_PCCARD is not set
|
||||
CONFIG_DMAR=y
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
|
|
@ -333,6 +332,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
# CONFIG_TIPC is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_NET_DSA is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
|
|
@ -353,11 +353,10 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
|
||||
#
|
||||
# Wireless
|
||||
#
|
||||
# CONFIG_PHONET is not set
|
||||
CONFIG_WIRELESS=y
|
||||
# CONFIG_CFG80211 is not set
|
||||
CONFIG_WIRELESS_OLD_REGULATORY=y
|
||||
# CONFIG_WIRELESS_EXT is not set
|
||||
# CONFIG_MAC80211 is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
|
|
@ -385,7 +384,7 @@ CONFIG_PROC_EVENTS=y
|
|||
# CONFIG_MTD is not set
|
||||
# CONFIG_PARPORT is not set
|
||||
CONFIG_PNP=y
|
||||
# CONFIG_PNP_DEBUG is not set
|
||||
# CONFIG_PNP_DEBUG_MESSAGES is not set
|
||||
|
||||
#
|
||||
# Protocols
|
||||
|
|
@ -419,10 +418,9 @@ CONFIG_SGI_XP=m
|
|||
# CONFIG_HP_ILO is not set
|
||||
CONFIG_SGI_GRU=m
|
||||
# CONFIG_SGI_GRU_DEBUG is not set
|
||||
# CONFIG_C2PORT is not set
|
||||
CONFIG_HAVE_IDE=y
|
||||
CONFIG_IDE=y
|
||||
CONFIG_IDE_MAX_HWIFS=4
|
||||
CONFIG_BLK_DEV_IDE=y
|
||||
|
||||
#
|
||||
# Please see Documentation/ide/ide.txt for help/info on IDE drives
|
||||
|
|
@ -430,12 +428,12 @@ CONFIG_BLK_DEV_IDE=y
|
|||
CONFIG_IDE_TIMINGS=y
|
||||
CONFIG_IDE_ATAPI=y
|
||||
# CONFIG_BLK_DEV_IDE_SATA is not set
|
||||
CONFIG_BLK_DEV_IDEDISK=y
|
||||
# CONFIG_IDEDISK_MULTI_MODE is not set
|
||||
CONFIG_IDE_GD=y
|
||||
CONFIG_IDE_GD_ATA=y
|
||||
# CONFIG_IDE_GD_ATAPI is not set
|
||||
CONFIG_BLK_DEV_IDECD=y
|
||||
CONFIG_BLK_DEV_IDECD_VERBOSE_ERRORS=y
|
||||
# CONFIG_BLK_DEV_IDETAPE is not set
|
||||
CONFIG_BLK_DEV_IDEFLOPPY=y
|
||||
CONFIG_BLK_DEV_IDESCSI=m
|
||||
# CONFIG_BLK_DEV_IDEACPI is not set
|
||||
# CONFIG_IDE_TASK_IOCTL is not set
|
||||
|
|
@ -705,6 +703,9 @@ CONFIG_TULIP=m
|
|||
# CONFIG_IBM_NEW_EMAC_RGMII is not set
|
||||
# CONFIG_IBM_NEW_EMAC_TAH is not set
|
||||
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
|
||||
# CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set
|
||||
# CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set
|
||||
# CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set
|
||||
CONFIG_NET_PCI=y
|
||||
# CONFIG_PCNET32 is not set
|
||||
# CONFIG_AMD8111_ETH is not set
|
||||
|
|
@ -725,11 +726,11 @@ CONFIG_E100=m
|
|||
# CONFIG_TLAN is not set
|
||||
# CONFIG_VIA_RHINE is not set
|
||||
# CONFIG_SC92031 is not set
|
||||
# CONFIG_ATL2 is not set
|
||||
CONFIG_NETDEV_1000=y
|
||||
# CONFIG_ACENIC is not set
|
||||
# CONFIG_DL2K is not set
|
||||
CONFIG_E1000=y
|
||||
# CONFIG_E1000_DISABLE_PACKET_SPLIT is not set
|
||||
# CONFIG_E1000E is not set
|
||||
# CONFIG_IP1000 is not set
|
||||
CONFIG_IGB=y
|
||||
|
|
@ -747,18 +748,22 @@ CONFIG_TIGON3=y
|
|||
# CONFIG_QLA3XXX is not set
|
||||
# CONFIG_ATL1 is not set
|
||||
# CONFIG_ATL1E is not set
|
||||
# CONFIG_JME is not set
|
||||
CONFIG_NETDEV_10000=y
|
||||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_CHELSIO_T3 is not set
|
||||
# CONFIG_ENIC is not set
|
||||
# CONFIG_IXGBE is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
# CONFIG_NETXEN_NIC is not set
|
||||
# CONFIG_NIU is not set
|
||||
# CONFIG_MLX4_EN is not set
|
||||
# CONFIG_MLX4_CORE is not set
|
||||
# CONFIG_TEHUTI is not set
|
||||
# CONFIG_BNX2X is not set
|
||||
# CONFIG_QLGE is not set
|
||||
# CONFIG_SFC is not set
|
||||
# CONFIG_TR is not set
|
||||
|
||||
|
|
@ -826,9 +831,11 @@ CONFIG_MOUSE_PS2_LOGIPS2PP=y
|
|||
CONFIG_MOUSE_PS2_SYNAPTICS=y
|
||||
CONFIG_MOUSE_PS2_LIFEBOOK=y
|
||||
CONFIG_MOUSE_PS2_TRACKPOINT=y
|
||||
# CONFIG_MOUSE_PS2_ELANTECH is not set
|
||||
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
|
||||
# CONFIG_MOUSE_SERIAL is not set
|
||||
# CONFIG_MOUSE_APPLETOUCH is not set
|
||||
# CONFIG_MOUSE_BCM5974 is not set
|
||||
# CONFIG_MOUSE_VSXXXAA is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
|
|
@ -942,15 +949,16 @@ CONFIG_HWMON=y
|
|||
# CONFIG_SENSORS_VT8231 is not set
|
||||
# CONFIG_SENSORS_W83627HF is not set
|
||||
# CONFIG_SENSORS_W83627EHF is not set
|
||||
# CONFIG_SENSORS_LIS3LV02D is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
CONFIG_THERMAL=m
|
||||
# CONFIG_THERMAL_HWMON is not set
|
||||
# CONFIG_WATCHDOG is not set
|
||||
CONFIG_SSB_POSSIBLE=y
|
||||
|
||||
#
|
||||
# Sonics Silicon Backplane
|
||||
#
|
||||
CONFIG_SSB_POSSIBLE=y
|
||||
# CONFIG_SSB is not set
|
||||
|
||||
#
|
||||
|
|
@ -959,6 +967,8 @@ CONFIG_SSB_POSSIBLE=y
|
|||
# CONFIG_MFD_CORE is not set
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
# CONFIG_HTC_PASIC3 is not set
|
||||
# CONFIG_MFD_TMIO is not set
|
||||
# CONFIG_REGULATOR is not set
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
|
|
@ -1009,6 +1019,7 @@ CONFIG_VGA_CONSOLE=y
|
|||
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
CONFIG_SOUND=m
|
||||
CONFIG_SOUND_OSS_CORE=y
|
||||
CONFIG_SND=m
|
||||
CONFIG_SND_TIMER=m
|
||||
CONFIG_SND_PCM=m
|
||||
|
|
@ -1113,8 +1124,7 @@ CONFIG_HID=y
|
|||
# USB Input Devices
|
||||
#
|
||||
CONFIG_USB_HID=m
|
||||
# CONFIG_USB_HIDINPUT_POWERBOOK is not set
|
||||
# CONFIG_HID_FF is not set
|
||||
# CONFIG_HID_PID is not set
|
||||
# CONFIG_USB_HIDDEV is not set
|
||||
|
||||
#
|
||||
|
|
@ -1122,6 +1132,34 @@ CONFIG_USB_HID=m
|
|||
#
|
||||
# CONFIG_USB_KBD is not set
|
||||
# CONFIG_USB_MOUSE is not set
|
||||
|
||||
#
|
||||
# Special HID drivers
|
||||
#
|
||||
CONFIG_HID_COMPAT=y
|
||||
CONFIG_HID_A4TECH=m
|
||||
CONFIG_HID_APPLE=m
|
||||
CONFIG_HID_BELKIN=m
|
||||
CONFIG_HID_BRIGHT=m
|
||||
CONFIG_HID_CHERRY=m
|
||||
CONFIG_HID_CHICONY=m
|
||||
CONFIG_HID_CYPRESS=m
|
||||
CONFIG_HID_DELL=m
|
||||
CONFIG_HID_EZKEY=m
|
||||
CONFIG_HID_GYRATION=m
|
||||
CONFIG_HID_LOGITECH=m
|
||||
# CONFIG_LOGITECH_FF is not set
|
||||
# CONFIG_LOGIRUMBLEPAD2_FF is not set
|
||||
CONFIG_HID_MICROSOFT=m
|
||||
CONFIG_HID_MONTEREY=m
|
||||
CONFIG_HID_PANTHERLORD=m
|
||||
# CONFIG_PANTHERLORD_FF is not set
|
||||
CONFIG_HID_PETALYNX=m
|
||||
CONFIG_HID_SAMSUNG=m
|
||||
CONFIG_HID_SONY=m
|
||||
CONFIG_HID_SUNPLUS=m
|
||||
# CONFIG_THRUSTMASTER_FF is not set
|
||||
# CONFIG_ZEROPLUS_FF is not set
|
||||
CONFIG_USB_SUPPORT=y
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_USB_ARCH_HAS_OHCI=y
|
||||
|
|
@ -1138,6 +1176,9 @@ CONFIG_USB_DEVICE_CLASS=y
|
|||
# CONFIG_USB_DYNAMIC_MINORS is not set
|
||||
# CONFIG_USB_SUSPEND is not set
|
||||
# CONFIG_USB_OTG is not set
|
||||
CONFIG_USB_MON=y
|
||||
# CONFIG_USB_WUSB is not set
|
||||
# CONFIG_USB_WUSB_CBAF is not set
|
||||
|
||||
#
|
||||
# USB Host Controller Drivers
|
||||
|
|
@ -1155,6 +1196,12 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
|
|||
CONFIG_USB_UHCI_HCD=m
|
||||
# CONFIG_USB_SL811_HCD is not set
|
||||
# CONFIG_USB_R8A66597_HCD is not set
|
||||
# CONFIG_USB_WHCI_HCD is not set
|
||||
# CONFIG_USB_HWA_HCD is not set
|
||||
|
||||
#
|
||||
# Enable Host or Gadget support to see Inventra options
|
||||
#
|
||||
|
||||
#
|
||||
# USB Device Class drivers
|
||||
|
|
@ -1162,13 +1209,14 @@ CONFIG_USB_UHCI_HCD=m
|
|||
# CONFIG_USB_ACM is not set
|
||||
# CONFIG_USB_PRINTER is not set
|
||||
# CONFIG_USB_WDM is not set
|
||||
# CONFIG_USB_TMC is not set
|
||||
|
||||
#
|
||||
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
|
||||
# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
|
||||
#
|
||||
|
||||
#
|
||||
# may also be needed; see USB_STORAGE Help for more information
|
||||
# see USB_STORAGE Help for more information
|
||||
#
|
||||
CONFIG_USB_STORAGE=m
|
||||
# CONFIG_USB_STORAGE_DEBUG is not set
|
||||
|
|
@ -1191,7 +1239,6 @@ CONFIG_USB_STORAGE=m
|
|||
#
|
||||
# CONFIG_USB_MDC800 is not set
|
||||
# CONFIG_USB_MICROTEK is not set
|
||||
CONFIG_USB_MON=y
|
||||
|
||||
#
|
||||
# USB port drivers
|
||||
|
|
@ -1204,7 +1251,7 @@ CONFIG_USB_MON=y
|
|||
# CONFIG_USB_EMI62 is not set
|
||||
# CONFIG_USB_EMI26 is not set
|
||||
# CONFIG_USB_ADUTUX is not set
|
||||
# CONFIG_USB_AUERSWALD is not set
|
||||
# CONFIG_USB_SEVSEG is not set
|
||||
# CONFIG_USB_RIO500 is not set
|
||||
# CONFIG_USB_LEGOTOWER is not set
|
||||
# CONFIG_USB_LCD is not set
|
||||
|
|
@ -1222,7 +1269,9 @@ CONFIG_USB_MON=y
|
|||
# CONFIG_USB_IOWARRIOR is not set
|
||||
# CONFIG_USB_TEST is not set
|
||||
# CONFIG_USB_ISIGHTFW is not set
|
||||
# CONFIG_USB_VST is not set
|
||||
# CONFIG_USB_GADGET is not set
|
||||
# CONFIG_UWB is not set
|
||||
# CONFIG_MMC is not set
|
||||
# CONFIG_MEMSTICK is not set
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
|
|
@ -1246,6 +1295,15 @@ CONFIG_INFINIBAND_IPOIB_DEBUG=y
|
|||
# CONFIG_RTC_CLASS is not set
|
||||
# CONFIG_DMADEVICES is not set
|
||||
# CONFIG_UIO is not set
|
||||
# CONFIG_STAGING is not set
|
||||
CONFIG_STAGING_EXCLUDE_BUILD=y
|
||||
|
||||
#
|
||||
# HP Simulator drivers
|
||||
#
|
||||
# CONFIG_HP_SIMETH is not set
|
||||
# CONFIG_HP_SIMSERIAL is not set
|
||||
# CONFIG_HP_SIMSCSI is not set
|
||||
CONFIG_MSPEC=m
|
||||
|
||||
#
|
||||
|
|
@ -1260,7 +1318,7 @@ CONFIG_EXT3_FS=y
|
|||
CONFIG_EXT3_FS_XATTR=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS_SECURITY=y
|
||||
# CONFIG_EXT4DEV_FS is not set
|
||||
# CONFIG_EXT4_FS is not set
|
||||
CONFIG_JBD=y
|
||||
CONFIG_FS_MBCACHE=y
|
||||
CONFIG_REISERFS_FS=y
|
||||
|
|
@ -1271,6 +1329,7 @@ CONFIG_REISERFS_FS_POSIX_ACL=y
|
|||
CONFIG_REISERFS_FS_SECURITY=y
|
||||
# CONFIG_JFS_FS is not set
|
||||
CONFIG_FS_POSIX_ACL=y
|
||||
CONFIG_FILE_LOCKING=y
|
||||
CONFIG_XFS_FS=y
|
||||
# CONFIG_XFS_QUOTA is not set
|
||||
# CONFIG_XFS_POSIX_ACL is not set
|
||||
|
|
@ -1282,8 +1341,8 @@ CONFIG_DNOTIFY=y
|
|||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_AUTOFS_FS=y
|
||||
CONFIG_AUTOFS4_FS=y
|
||||
CONFIG_AUTOFS_FS=m
|
||||
CONFIG_AUTOFS4_FS=m
|
||||
# CONFIG_FUSE_FS is not set
|
||||
|
||||
#
|
||||
|
|
@ -1314,6 +1373,7 @@ CONFIG_PROC_FS=y
|
|||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_PROC_VMCORE=y
|
||||
CONFIG_PROC_SYSCTL=y
|
||||
CONFIG_PROC_PAGE_MONITOR=y
|
||||
CONFIG_SYSFS=y
|
||||
CONFIG_TMPFS=y
|
||||
# CONFIG_TMPFS_POSIX_ACL is not set
|
||||
|
|
@ -1356,6 +1416,7 @@ CONFIG_NFS_COMMON=y
|
|||
CONFIG_SUNRPC=m
|
||||
CONFIG_SUNRPC_GSS=m
|
||||
CONFIG_SUNRPC_XPRT_RDMA=m
|
||||
# CONFIG_SUNRPC_REGISTER_V4 is not set
|
||||
CONFIG_RPCSEC_GSS_KRB5=m
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
CONFIG_SMB_FS=m
|
||||
|
|
@ -1433,38 +1494,6 @@ CONFIG_NLS_KOI8_R=m
|
|||
CONFIG_NLS_KOI8_U=m
|
||||
CONFIG_NLS_UTF8=m
|
||||
# CONFIG_DLM is not set
|
||||
CONFIG_HAVE_KVM=y
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
# CONFIG_KVM is not set
|
||||
|
||||
#
|
||||
# Library routines
|
||||
#
|
||||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_GENERIC_FIND_FIRST_BIT is not set
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
CONFIG_CRC_T10DIF=y
|
||||
CONFIG_CRC_ITU_T=m
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_CRC7 is not set
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_PLIST=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
CONFIG_GENERIC_PENDING_IRQ=y
|
||||
CONFIG_IRQ_PER_CPU=y
|
||||
|
||||
#
|
||||
# HP Simulator drivers
|
||||
#
|
||||
# CONFIG_HP_SIMETH is not set
|
||||
# CONFIG_HP_SIMSERIAL is not set
|
||||
# CONFIG_HP_SIMSCSI is not set
|
||||
|
||||
#
|
||||
# Kernel hacking
|
||||
|
|
@ -1503,8 +1532,19 @@ CONFIG_DEBUG_MEMORY_INIT=y
|
|||
# CONFIG_DEBUG_SG is not set
|
||||
# CONFIG_BOOT_PRINTK_DELAY is not set
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
# CONFIG_RCU_CPU_STALL_DETECTOR is not set
|
||||
# CONFIG_BACKTRACE_SELF_TEST is not set
|
||||
# CONFIG_DEBUG_BLOCK_EXT_DEVT is not set
|
||||
# CONFIG_FAULT_INJECTION is not set
|
||||
CONFIG_SYSCTL_SYSCALL_CHECK=y
|
||||
|
||||
#
|
||||
# Tracers
|
||||
#
|
||||
# CONFIG_SCHED_TRACER is not set
|
||||
# CONFIG_CONTEXT_SWITCH_TRACER is not set
|
||||
# CONFIG_BOOT_TRACER is not set
|
||||
# CONFIG_DYNAMIC_PRINTK_DEBUG is not set
|
||||
# CONFIG_SAMPLES is not set
|
||||
CONFIG_IA64_GRANULE_16MB=y
|
||||
# CONFIG_IA64_GRANULE_64MB is not set
|
||||
|
|
@ -1519,14 +1559,19 @@ CONFIG_SYSVIPC_COMPAT=y
|
|||
#
|
||||
# CONFIG_KEYS is not set
|
||||
# CONFIG_SECURITY is not set
|
||||
# CONFIG_SECURITYFS is not set
|
||||
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
|
||||
CONFIG_CRYPTO=y
|
||||
|
||||
#
|
||||
# Crypto core or helper
|
||||
#
|
||||
# CONFIG_CRYPTO_FIPS is not set
|
||||
CONFIG_CRYPTO_ALGAPI=y
|
||||
CONFIG_CRYPTO_AEAD=m
|
||||
CONFIG_CRYPTO_BLKCIPHER=m
|
||||
CONFIG_CRYPTO_HASH=m
|
||||
CONFIG_CRYPTO_RNG=m
|
||||
CONFIG_CRYPTO_MANAGER=m
|
||||
# CONFIG_CRYPTO_GF128MUL is not set
|
||||
# CONFIG_CRYPTO_NULL is not set
|
||||
|
|
@ -1599,5 +1644,36 @@ CONFIG_CRYPTO_DES=m
|
|||
#
|
||||
# CONFIG_CRYPTO_DEFLATE is not set
|
||||
# CONFIG_CRYPTO_LZO is not set
|
||||
|
||||
#
|
||||
# Random Number Generation
|
||||
#
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_CRYPTO_HW=y
|
||||
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
|
||||
CONFIG_HAVE_KVM=y
|
||||
CONFIG_VIRTUALIZATION=y
|
||||
# CONFIG_KVM is not set
|
||||
# CONFIG_VIRTIO_PCI is not set
|
||||
# CONFIG_VIRTIO_BALLOON is not set
|
||||
|
||||
#
|
||||
# Library routines
|
||||
#
|
||||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
CONFIG_CRC_T10DIF=y
|
||||
CONFIG_CRC_ITU_T=m
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_CRC7 is not set
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_GENERIC_ALLOCATOR=y
|
||||
CONFIG_PLIST=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
CONFIG_GENERIC_PENDING_IRQ=y
|
||||
CONFIG_IRQ_PER_CPU=y
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ menu "HP Simulator drivers"
|
|||
|
||||
config HP_SIMETH
|
||||
bool "Simulated Ethernet "
|
||||
depends on NET
|
||||
|
||||
config HP_SIMSERIAL
|
||||
bool "Simulated serial driver support"
|
||||
|
|
|
|||
|
|
@ -167,6 +167,15 @@ netdev_read(int fd, unsigned char *buf, unsigned int len)
|
|||
return ia64_ssc(fd, __pa(buf), len, 0, SSC_NETDEV_RECV);
|
||||
}
|
||||
|
||||
static const struct net_device_ops simeth_netdev_ops = {
|
||||
.ndo_open = simeth_open,
|
||||
.ndo_stop = simeth_close,
|
||||
.ndo_start_xmit = simeth_tx,
|
||||
.ndo_get_stats = simeth_get_stats,
|
||||
.ndo_set_multicast_list = set_multicast_list, /* not yet used */
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
* Function shared with module code, so cannot be in init section
|
||||
*
|
||||
|
|
@ -206,14 +215,10 @@ simeth_probe1(void)
|
|||
|
||||
memcpy(dev->dev_addr, mac_addr, sizeof(mac_addr));
|
||||
|
||||
local = dev->priv;
|
||||
local = netdev_priv(dev);
|
||||
local->simfd = fd; /* keep track of underlying file descriptor */
|
||||
|
||||
dev->open = simeth_open;
|
||||
dev->stop = simeth_close;
|
||||
dev->hard_start_xmit = simeth_tx;
|
||||
dev->get_stats = simeth_get_stats;
|
||||
dev->set_multicast_list = set_multicast_list; /* no yet used */
|
||||
dev->netdev_ops = &simeth_netdev_ops;
|
||||
|
||||
err = register_netdev(dev);
|
||||
if (err) {
|
||||
|
|
@ -325,7 +330,7 @@ simeth_device_event(struct notifier_block *this,unsigned long event, void *ptr)
|
|||
* we get DOWN then UP.
|
||||
*/
|
||||
|
||||
local = dev->priv;
|
||||
local = netdev_priv(dev);
|
||||
/* now do it for real */
|
||||
r = event == NETDEV_UP ?
|
||||
netdev_attach(local->simfd, dev->irq, ntohl(ifa->ifa_local)):
|
||||
|
|
@ -380,7 +385,7 @@ frame_print(unsigned char *from, unsigned char *frame, int len)
|
|||
static int
|
||||
simeth_tx(struct sk_buff *skb, struct net_device *dev)
|
||||
{
|
||||
struct simeth_local *local = dev->priv;
|
||||
struct simeth_local *local = netdev_priv(dev);
|
||||
|
||||
#if 0
|
||||
/* ensure we have at least ETH_ZLEN bytes (min frame size) */
|
||||
|
|
@ -443,7 +448,7 @@ simeth_rx(struct net_device *dev)
|
|||
int len;
|
||||
int rcv_count = SIMETH_RECV_MAX;
|
||||
|
||||
local = dev->priv;
|
||||
local = netdev_priv(dev);
|
||||
/*
|
||||
* the loop concept has been borrowed from other drivers
|
||||
* looks to me like it's a throttling thing to avoid pushing to many
|
||||
|
|
@ -507,7 +512,7 @@ simeth_interrupt(int irq, void *dev_id)
|
|||
static struct net_device_stats *
|
||||
simeth_get_stats(struct net_device *dev)
|
||||
{
|
||||
struct simeth_local *local = dev->priv;
|
||||
struct simeth_local *local = netdev_priv(dev);
|
||||
|
||||
return &local->stats;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1767,25 +1767,24 @@ groups16_from_user(struct group_info *group_info, short __user *grouplist)
|
|||
asmlinkage long
|
||||
sys32_getgroups16 (int gidsetsize, short __user *grouplist)
|
||||
{
|
||||
const struct cred *cred = current_cred();
|
||||
int i;
|
||||
|
||||
if (gidsetsize < 0)
|
||||
return -EINVAL;
|
||||
|
||||
get_group_info(current->group_info);
|
||||
i = current->group_info->ngroups;
|
||||
i = cred->group_info->ngroups;
|
||||
if (gidsetsize) {
|
||||
if (i > gidsetsize) {
|
||||
i = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
if (groups16_to_user(grouplist, current->group_info)) {
|
||||
if (groups16_to_user(grouplist, cred->group_info)) {
|
||||
i = -EFAULT;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
out:
|
||||
put_group_info(current->group_info);
|
||||
return i;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -83,7 +83,6 @@ extern unsigned long ia64_native_getreg_func(int regnum);
|
|||
#define paravirt_getreg(reg) \
|
||||
({ \
|
||||
unsigned long res; \
|
||||
BUILD_BUG_ON(!__builtin_constant_p(reg)); \
|
||||
if ((reg) == _IA64_REG_IP) \
|
||||
res = ia64_native_getreg(_IA64_REG_IP); \
|
||||
else \
|
||||
|
|
|
|||
|
|
@ -158,7 +158,7 @@ mca_handler_bh(unsigned long paddr, void *iip, unsigned long ipsr)
|
|||
ia64_mlogbuf_dump();
|
||||
printk(KERN_ERR "OS_MCA: process [cpu %d, pid: %d, uid: %d, "
|
||||
"iip: %p, psr: 0x%lx,paddr: 0x%lx](%s) encounters MCA.\n",
|
||||
raw_smp_processor_id(), current->pid, current->uid,
|
||||
raw_smp_processor_id(), current->pid, current_uid(),
|
||||
iip, ipsr, paddr, current->comm);
|
||||
|
||||
spin_lock(&mca_bh_lock);
|
||||
|
|
|
|||
|
|
@ -2220,8 +2220,8 @@ pfm_alloc_file(pfm_context_t *ctx)
|
|||
DPRINT(("new inode ino=%ld @%p\n", inode->i_ino, inode));
|
||||
|
||||
inode->i_mode = S_IFCHR|S_IRUGO;
|
||||
inode->i_uid = current->fsuid;
|
||||
inode->i_gid = current->fsgid;
|
||||
inode->i_uid = current_fsuid();
|
||||
inode->i_gid = current_fsgid();
|
||||
|
||||
sprintf(name, "[%lu]", inode->i_ino);
|
||||
this.name = name;
|
||||
|
|
@ -2399,22 +2399,33 @@ error_kmem:
|
|||
static int
|
||||
pfm_bad_permissions(struct task_struct *task)
|
||||
{
|
||||
const struct cred *tcred;
|
||||
uid_t uid = current_uid();
|
||||
gid_t gid = current_gid();
|
||||
int ret;
|
||||
|
||||
rcu_read_lock();
|
||||
tcred = __task_cred(task);
|
||||
|
||||
/* inspired by ptrace_attach() */
|
||||
DPRINT(("cur: uid=%d gid=%d task: euid=%d suid=%d uid=%d egid=%d sgid=%d\n",
|
||||
current->uid,
|
||||
current->gid,
|
||||
task->euid,
|
||||
task->suid,
|
||||
task->uid,
|
||||
task->egid,
|
||||
task->sgid));
|
||||
uid,
|
||||
gid,
|
||||
tcred->euid,
|
||||
tcred->suid,
|
||||
tcred->uid,
|
||||
tcred->egid,
|
||||
tcred->sgid));
|
||||
|
||||
return ((current->uid != task->euid)
|
||||
|| (current->uid != task->suid)
|
||||
|| (current->uid != task->uid)
|
||||
|| (current->gid != task->egid)
|
||||
|| (current->gid != task->sgid)
|
||||
|| (current->gid != task->gid)) && !capable(CAP_SYS_PTRACE);
|
||||
ret = ((uid != tcred->euid)
|
||||
|| (uid != tcred->suid)
|
||||
|| (uid != tcred->uid)
|
||||
|| (gid != tcred->egid)
|
||||
|| (gid != tcred->sgid)
|
||||
|| (gid != tcred->gid)) && !capable(CAP_SYS_PTRACE);
|
||||
|
||||
rcu_read_unlock();
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int
|
||||
|
|
|
|||
|
|
@ -229,7 +229,7 @@ ia64_rt_sigreturn (struct sigscratch *scr)
|
|||
si.si_errno = 0;
|
||||
si.si_code = SI_KERNEL;
|
||||
si.si_pid = task_pid_vnr(current);
|
||||
si.si_uid = current->uid;
|
||||
si.si_uid = current_uid();
|
||||
si.si_addr = sc;
|
||||
force_sig_info(SIGSEGV, &si, current);
|
||||
return retval;
|
||||
|
|
@ -326,7 +326,7 @@ force_sigsegv_info (int sig, void __user *addr)
|
|||
si.si_errno = 0;
|
||||
si.si_code = SI_KERNEL;
|
||||
si.si_pid = task_pid_vnr(current);
|
||||
si.si_uid = current->uid;
|
||||
si.si_uid = current_uid();
|
||||
si.si_addr = addr;
|
||||
force_sig_info(SIGSEGV, &si, current);
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -53,10 +53,12 @@ int __ref arch_register_cpu(int num)
|
|||
}
|
||||
EXPORT_SYMBOL(arch_register_cpu);
|
||||
|
||||
void arch_unregister_cpu(int num)
|
||||
void __ref arch_unregister_cpu(int num)
|
||||
{
|
||||
unregister_cpu(&sysfs_cpus[num].cpu);
|
||||
#ifdef CONFIG_ACPI
|
||||
unmap_cpu_from_node(num, cpu_to_node(num));
|
||||
#endif
|
||||
}
|
||||
EXPORT_SYMBOL(arch_unregister_cpu);
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (c) 2000-2007 Silicon Graphics, Inc. All Rights Reserved.
|
||||
* Copyright (c) 2000-2008 Silicon Graphics, Inc. All Rights Reserved.
|
||||
*/
|
||||
|
||||
#include <linux/irq.h>
|
||||
|
|
@ -375,6 +375,7 @@ void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info)
|
|||
int cpu = nasid_slice_to_cpuid(nasid, slice);
|
||||
#ifdef CONFIG_SMP
|
||||
int cpuphys;
|
||||
irq_desc_t *desc;
|
||||
#endif
|
||||
|
||||
pci_dev_get(pci_dev);
|
||||
|
|
@ -391,6 +392,12 @@ void sn_irq_fixup(struct pci_dev *pci_dev, struct sn_irq_info *sn_irq_info)
|
|||
#ifdef CONFIG_SMP
|
||||
cpuphys = cpu_physical_id(cpu);
|
||||
set_irq_affinity_info(sn_irq_info->irq_irq, cpuphys, 0);
|
||||
desc = irq_to_desc(sn_irq_info->irq_irq);
|
||||
/*
|
||||
* Affinity was set by the PROM, prevent it from
|
||||
* being reset by the request_irq() path.
|
||||
*/
|
||||
desc->status |= IRQ_AFFINITY_SET;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@ static int __cpuinitdata shub_1_1_found;
|
|||
* Set flag for enabling shub specific wars
|
||||
*/
|
||||
|
||||
static inline int __init is_shub_1_1(int nasid)
|
||||
static inline int __cpuinit is_shub_1_1(int nasid)
|
||||
{
|
||||
unsigned long id;
|
||||
int rev;
|
||||
|
|
@ -212,7 +212,7 @@ static inline int __init is_shub_1_1(int nasid)
|
|||
return rev <= 2;
|
||||
}
|
||||
|
||||
static void __init sn_check_for_wars(void)
|
||||
static void __cpuinit sn_check_for_wars(void)
|
||||
{
|
||||
int cnode;
|
||||
|
||||
|
|
@ -512,7 +512,6 @@ static void __init sn_init_pdas(char **cmdline_p)
|
|||
for_each_online_node(cnode) {
|
||||
nodepdaindr[cnode] =
|
||||
alloc_bootmem_node(NODE_DATA(cnode), sizeof(nodepda_t));
|
||||
memset(nodepdaindr[cnode], 0, sizeof(nodepda_t));
|
||||
memset(nodepdaindr[cnode]->phys_cpuid, -1,
|
||||
sizeof(nodepdaindr[cnode]->phys_cpuid));
|
||||
spin_lock_init(&nodepdaindr[cnode]->ptc_lock);
|
||||
|
|
@ -521,11 +520,9 @@ static void __init sn_init_pdas(char **cmdline_p)
|
|||
/*
|
||||
* Allocate & initialize nodepda for TIOs. For now, put them on node 0.
|
||||
*/
|
||||
for (cnode = num_online_nodes(); cnode < num_cnodes; cnode++) {
|
||||
for (cnode = num_online_nodes(); cnode < num_cnodes; cnode++)
|
||||
nodepdaindr[cnode] =
|
||||
alloc_bootmem_node(NODE_DATA(0), sizeof(nodepda_t));
|
||||
memset(nodepdaindr[cnode], 0, sizeof(nodepda_t));
|
||||
}
|
||||
|
||||
/*
|
||||
* Now copy the array of nodepda pointers to each nodepda.
|
||||
|
|
|
|||
|
|
@ -273,7 +273,7 @@ config GENERIC_CALIBRATE_DELAY
|
|||
bool
|
||||
default y
|
||||
|
||||
config SCHED_NO_NO_OMIT_FRAME_POINTER
|
||||
config SCHED_OMIT_FRAME_POINTER
|
||||
bool
|
||||
default y
|
||||
|
||||
|
|
|
|||
|
|
@ -36,9 +36,9 @@
|
|||
| depending on their values, the program may run faster or slower --
|
||||
| but no worse than 10% slower even in the extreme cases.
|
||||
|
|
||||
| The program setoxm1 takes approximately ???/??? cycles for input
|
||||
| The program setoxm1 takes approximately ??? / ??? cycles for input
|
||||
| argument X, 0.25 <= |X| < 70log2. For |X| < 0.25, it takes
|
||||
| approximately ???/??? cycles. For the less common arguments,
|
||||
| approximately ??? / ??? cycles. For the less common arguments,
|
||||
| depending on their values, the program may run faster or slower --
|
||||
| but no worse than 10% slower even in the extreme cases.
|
||||
|
|
||||
|
|
|
|||
|
|
@ -18,11 +18,14 @@
|
|||
#include <asm/macints.h>
|
||||
#include <asm/mac_baboon.h>
|
||||
|
||||
/* #define DEBUG_BABOON */
|
||||
/* #define DEBUG_IRQS */
|
||||
|
||||
extern void mac_enable_irq(unsigned int);
|
||||
extern void mac_disable_irq(unsigned int);
|
||||
|
||||
int baboon_present;
|
||||
static volatile struct baboon *baboon;
|
||||
static unsigned char baboon_disabled;
|
||||
|
||||
#if 0
|
||||
extern int macide_ack_intr(struct ata_channel *);
|
||||
|
|
@ -88,34 +91,51 @@ static irqreturn_t baboon_irq(int irq, void *dev_id)
|
|||
|
||||
void __init baboon_register_interrupts(void)
|
||||
{
|
||||
request_irq(IRQ_NUBUS_C, baboon_irq, IRQ_FLG_LOCK|IRQ_FLG_FAST,
|
||||
"baboon", (void *) baboon);
|
||||
baboon_disabled = 0;
|
||||
request_irq(IRQ_NUBUS_C, baboon_irq, 0, "baboon", (void *)baboon);
|
||||
}
|
||||
|
||||
void baboon_irq_enable(int irq) {
|
||||
/*
|
||||
* The means for masking individual baboon interrupts remains a mystery, so
|
||||
* enable the umbrella interrupt only when no baboon interrupt is disabled.
|
||||
*/
|
||||
|
||||
void baboon_irq_enable(int irq)
|
||||
{
|
||||
int irq_idx = IRQ_IDX(irq);
|
||||
|
||||
#ifdef DEBUG_IRQUSE
|
||||
printk("baboon_irq_enable(%d)\n", irq);
|
||||
#endif
|
||||
/* FIXME: figure out how to mask and unmask baboon interrupt sources */
|
||||
enable_irq(IRQ_NUBUS_C);
|
||||
|
||||
baboon_disabled &= ~(1 << irq_idx);
|
||||
if (!baboon_disabled)
|
||||
mac_enable_irq(IRQ_NUBUS_C);
|
||||
}
|
||||
|
||||
void baboon_irq_disable(int irq) {
|
||||
void baboon_irq_disable(int irq)
|
||||
{
|
||||
int irq_idx = IRQ_IDX(irq);
|
||||
|
||||
#ifdef DEBUG_IRQUSE
|
||||
printk("baboon_irq_disable(%d)\n", irq);
|
||||
#endif
|
||||
disable_irq(IRQ_NUBUS_C);
|
||||
|
||||
baboon_disabled |= 1 << irq_idx;
|
||||
if (baboon_disabled)
|
||||
mac_disable_irq(IRQ_NUBUS_C);
|
||||
}
|
||||
|
||||
void baboon_irq_clear(int irq) {
|
||||
int irq_idx = IRQ_IDX(irq);
|
||||
void baboon_irq_clear(int irq)
|
||||
{
|
||||
int irq_idx = IRQ_IDX(irq);
|
||||
|
||||
baboon->mb_ifr &= ~(1 << irq_idx);
|
||||
}
|
||||
|
||||
int baboon_irq_pending(int irq)
|
||||
{
|
||||
int irq_idx = IRQ_IDX(irq);
|
||||
int irq_idx = IRQ_IDX(irq);
|
||||
|
||||
return baboon->mb_ifr & (1 << irq_idx);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -162,10 +162,7 @@ void __init config_mac(void)
|
|||
mach_init_IRQ = mac_init_IRQ;
|
||||
mach_get_model = mac_get_model;
|
||||
mach_gettimeoffset = mac_gettimeoffset;
|
||||
#warning move to adb/via init
|
||||
#if 0
|
||||
mach_hwclk = mac_hwclk;
|
||||
#endif
|
||||
mach_set_clock_mmss = mac_set_clock_mmss;
|
||||
mach_reset = mac_reset;
|
||||
mach_halt = mac_poweroff;
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@
|
|||
#define BOOTINFO_COMPAT_1_0
|
||||
#include <asm/setup.h>
|
||||
#include <asm/bootinfo.h>
|
||||
#include <asm/machw.h>
|
||||
#include <asm/macints.h>
|
||||
|
||||
extern unsigned long mac_videobase;
|
||||
|
|
|
|||
|
|
@ -127,7 +127,6 @@
|
|||
#include <asm/irq.h>
|
||||
#include <asm/traps.h>
|
||||
#include <asm/bootinfo.h>
|
||||
#include <asm/machw.h>
|
||||
#include <asm/macintosh.h>
|
||||
#include <asm/mac_via.h>
|
||||
#include <asm/mac_psc.h>
|
||||
|
|
@ -215,8 +214,8 @@ irqreturn_t mac_debug_handler(int, void *);
|
|||
|
||||
/* #define DEBUG_MACINTS */
|
||||
|
||||
static void mac_enable_irq(unsigned int irq);
|
||||
static void mac_disable_irq(unsigned int irq);
|
||||
void mac_enable_irq(unsigned int irq);
|
||||
void mac_disable_irq(unsigned int irq);
|
||||
|
||||
static struct irq_controller mac_irq_controller = {
|
||||
.name = "mac",
|
||||
|
|
@ -275,7 +274,7 @@ void __init mac_init_IRQ(void)
|
|||
* These routines are just dispatchers to the VIA/OSS/PSC routines.
|
||||
*/
|
||||
|
||||
static void mac_enable_irq(unsigned int irq)
|
||||
void mac_enable_irq(unsigned int irq)
|
||||
{
|
||||
int irq_src = IRQ_SRC(irq);
|
||||
|
||||
|
|
@ -308,7 +307,7 @@ static void mac_enable_irq(unsigned int irq)
|
|||
}
|
||||
}
|
||||
|
||||
static void mac_disable_irq(unsigned int irq)
|
||||
void mac_disable_irq(unsigned int irq)
|
||||
{
|
||||
int irq_src = IRQ_SRC(irq);
|
||||
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ static void cuda_write_pram(int offset, __u8 data)
|
|||
#define cuda_write_pram NULL
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ADB_PMU68K
|
||||
#if 0 /* def CONFIG_ADB_PMU68K */
|
||||
static long pmu_read_time(void)
|
||||
{
|
||||
struct adb_request req;
|
||||
|
|
@ -148,7 +148,7 @@ static void pmu_write_pram(int offset, __u8 data)
|
|||
#define pmu_write_pram NULL
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_ADB_MACIISI
|
||||
#if 0 /* def CONFIG_ADB_MACIISI */
|
||||
extern int maciisi_request(struct adb_request *req,
|
||||
void (*done)(struct adb_request *), int nbytes, ...);
|
||||
|
||||
|
|
@ -717,13 +717,18 @@ int mac_hwclk(int op, struct rtc_time *t)
|
|||
unmktime(now, 0,
|
||||
&t->tm_year, &t->tm_mon, &t->tm_mday,
|
||||
&t->tm_hour, &t->tm_min, &t->tm_sec);
|
||||
#if 0
|
||||
printk("mac_hwclk: read %04d-%02d-%-2d %02d:%02d:%02d\n",
|
||||
t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec);
|
||||
t->tm_year + 1900, t->tm_mon + 1, t->tm_mday,
|
||||
t->tm_hour, t->tm_min, t->tm_sec);
|
||||
#endif
|
||||
} else { /* write */
|
||||
#if 0
|
||||
printk("mac_hwclk: tried to write %04d-%02d-%-2d %02d:%02d:%02d\n",
|
||||
t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec);
|
||||
t->tm_year + 1900, t->tm_mon + 1, t->tm_mday,
|
||||
t->tm_hour, t->tm_min, t->tm_sec);
|
||||
#endif
|
||||
|
||||
#if 0 /* it trashes my rtc */
|
||||
now = mktime(t->tm_year + 1900, t->tm_mon + 1, t->tm_mday,
|
||||
t->tm_hour, t->tm_min, t->tm_sec);
|
||||
|
||||
|
|
@ -742,7 +747,6 @@ int mac_hwclk(int op, struct rtc_time *t)
|
|||
case MAC_ADB_IISI:
|
||||
maciisi_write_time(now);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,6 @@
|
|||
#include <linux/init.h>
|
||||
|
||||
#include <asm/bootinfo.h>
|
||||
#include <asm/machw.h>
|
||||
#include <asm/macintosh.h>
|
||||
#include <asm/macints.h>
|
||||
#include <asm/mac_via.h>
|
||||
|
|
|
|||
|
|
@ -32,15 +32,10 @@
|
|||
#include <asm/bootinfo.h>
|
||||
#include <asm/macintosh.h>
|
||||
#include <asm/macints.h>
|
||||
#include <asm/machw.h>
|
||||
#include <asm/mac_via.h>
|
||||
#include <asm/mac_psc.h>
|
||||
|
||||
volatile __u8 *via1, *via2;
|
||||
#if 0
|
||||
/* See note in mac_via.h about how this is possibly not useful */
|
||||
volatile long *via_memory_bogon=(long *)&via_memory_bogon;
|
||||
#endif
|
||||
int rbv_present;
|
||||
int via_alt_mapping;
|
||||
EXPORT_SYMBOL(via_alt_mapping);
|
||||
|
|
@ -66,7 +61,7 @@ static int gIER,gIFR,gBufA,gBufB;
|
|||
#define MAC_CLOCK_LOW (MAC_CLOCK_TICK&0xFF)
|
||||
#define MAC_CLOCK_HIGH (MAC_CLOCK_TICK>>8)
|
||||
|
||||
/* To disable a NuBus slot on Quadras we make the slot IRQ lines outputs, set
|
||||
/* To disable a NuBus slot on Quadras we make that slot IRQ line an output set
|
||||
* high. On RBV we just use the slot interrupt enable register. On Macs with
|
||||
* genuine VIA chips we must use nubus_disabled to keep track of disabled slot
|
||||
* interrupts. When any slot IRQ is disabled we mask the (edge triggered) CA1
|
||||
|
|
@ -180,7 +175,7 @@ void __init via_init(void)
|
|||
via1[vT1CH] = 0;
|
||||
via1[vT2CL] = 0;
|
||||
via1[vT2CH] = 0;
|
||||
via1[vACR] &= 0x3F;
|
||||
via1[vACR] &= ~0xC0; /* setup T1 timer with no PB7 output */
|
||||
via1[vACR] &= ~0x03; /* disable port A & B latches */
|
||||
|
||||
/*
|
||||
|
|
@ -203,40 +198,41 @@ void __init via_init(void)
|
|||
|
||||
/* Everything below this point is VIA2/RBV only... */
|
||||
|
||||
if (oss_present) return;
|
||||
if (oss_present)
|
||||
return;
|
||||
|
||||
#if 1
|
||||
/* Some machines support an alternate IRQ mapping that spreads */
|
||||
/* Ethernet and Sound out to their own autolevel IRQs and moves */
|
||||
/* VIA1 to level 6. A/UX uses this mapping and we do too. Note */
|
||||
/* that the IIfx emulates this alternate mapping using the OSS. */
|
||||
|
||||
switch(macintosh_config->ident) {
|
||||
case MAC_MODEL_P475:
|
||||
case MAC_MODEL_P475F:
|
||||
case MAC_MODEL_P575:
|
||||
case MAC_MODEL_Q605:
|
||||
case MAC_MODEL_Q605_ACC:
|
||||
case MAC_MODEL_C610:
|
||||
case MAC_MODEL_Q610:
|
||||
case MAC_MODEL_Q630:
|
||||
case MAC_MODEL_C650:
|
||||
case MAC_MODEL_Q650:
|
||||
case MAC_MODEL_Q700:
|
||||
case MAC_MODEL_Q800:
|
||||
case MAC_MODEL_Q900:
|
||||
case MAC_MODEL_Q950:
|
||||
via_alt_mapping = 0;
|
||||
if (macintosh_config->via_type == MAC_VIA_QUADRA)
|
||||
switch (macintosh_config->ident) {
|
||||
case MAC_MODEL_C660:
|
||||
case MAC_MODEL_Q840:
|
||||
/* not applicable */
|
||||
break;
|
||||
case MAC_MODEL_P588:
|
||||
case MAC_MODEL_TV:
|
||||
case MAC_MODEL_PB140:
|
||||
case MAC_MODEL_PB145:
|
||||
case MAC_MODEL_PB160:
|
||||
case MAC_MODEL_PB165:
|
||||
case MAC_MODEL_PB165C:
|
||||
case MAC_MODEL_PB170:
|
||||
case MAC_MODEL_PB180:
|
||||
case MAC_MODEL_PB180C:
|
||||
case MAC_MODEL_PB190:
|
||||
case MAC_MODEL_PB520:
|
||||
/* not yet tested */
|
||||
break;
|
||||
default:
|
||||
via_alt_mapping = 1;
|
||||
via1[vDirB] |= 0x40;
|
||||
via1[vBufB] &= ~0x40;
|
||||
break;
|
||||
default:
|
||||
via_alt_mapping = 0;
|
||||
break;
|
||||
}
|
||||
#else
|
||||
via_alt_mapping = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* Now initialize VIA2. For RBV we just kill all interrupts;
|
||||
|
|
@ -252,14 +248,17 @@ void __init via_init(void)
|
|||
via2[vT1CH] = 0;
|
||||
via2[vT2CL] = 0;
|
||||
via2[vT2CH] = 0;
|
||||
via2[vACR] &= 0x3F;
|
||||
via2[vACR] &= ~0xC0; /* setup T1 timer with no PB7 output */
|
||||
via2[vACR] &= ~0x03; /* disable port A & B latches */
|
||||
}
|
||||
|
||||
/*
|
||||
* Set vPCR for SCSI interrupts (but not on RBV)
|
||||
* Set vPCR for control line interrupts (but not on RBV)
|
||||
*/
|
||||
if (!rbv_present) {
|
||||
/* For all VIA types, CA1 (SLOTS IRQ) and CB1 (ASC IRQ)
|
||||
* are made negative edge triggered here.
|
||||
*/
|
||||
if (macintosh_config->scsi_type == MAC_SCSI_OLD) {
|
||||
/* CB2 (IRQ) indep. input, positive edge */
|
||||
/* CA2 (DRQ) indep. input, positive edge */
|
||||
|
|
@ -466,21 +465,6 @@ irqreturn_t via1_irq(int irq, void *dev_id)
|
|||
++irq_num;
|
||||
irq_bit <<= 1;
|
||||
} while (events >= irq_bit);
|
||||
|
||||
#if 0 /* freakin' pmu is doing weird stuff */
|
||||
if (!oss_present) {
|
||||
/* This (still) seems to be necessary to get IDE
|
||||
working. However, if you enable VBL interrupts,
|
||||
you're screwed... */
|
||||
/* FIXME: should we check the SLOTIRQ bit before
|
||||
pulling this stunt? */
|
||||
/* No, it won't be set. that's why we're doing this. */
|
||||
via_irq_disable(IRQ_MAC_NUBUS);
|
||||
via_irq_clear(IRQ_MAC_NUBUS);
|
||||
m68k_handle_int(IRQ_MAC_NUBUS);
|
||||
via_irq_enable(IRQ_MAC_NUBUS);
|
||||
}
|
||||
#endif
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -653,7 +653,7 @@ config GENERIC_CMOS_UPDATE
|
|||
bool
|
||||
default y
|
||||
|
||||
config SCHED_NO_NO_OMIT_FRAME_POINTER
|
||||
config SCHED_OMIT_FRAME_POINTER
|
||||
bool
|
||||
default y
|
||||
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ config RUNTIME_DEBUG
|
|||
help
|
||||
If you say Y here, some debugging macros will do run-time checking.
|
||||
If you say N here, those macros will mostly turn to no-ops. See
|
||||
include/asm-mips/debug.h for debuging macros.
|
||||
arch/mips/include/asm/debug.h for debugging macros.
|
||||
If unsure, say N.
|
||||
|
||||
endmenu
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -35,6 +35,16 @@
|
|||
mtc0 \reg, CP0_TCSTATUS
|
||||
_ehb
|
||||
.endm
|
||||
#elif defined(CONFIG_CPU_MIPSR2)
|
||||
.macro local_irq_enable reg=t0
|
||||
ei
|
||||
irq_enable_hazard
|
||||
.endm
|
||||
|
||||
.macro local_irq_disable reg=t0
|
||||
di
|
||||
irq_disable_hazard
|
||||
.endm
|
||||
#else
|
||||
.macro local_irq_enable reg=t0
|
||||
mfc0 \reg, CP0_STATUS
|
||||
|
|
|
|||
|
|
@ -50,9 +50,8 @@ static inline __attribute_const__ __u32 __arch_swab32(__u32 x)
|
|||
static inline __attribute_const__ __u64 __arch_swab64(__u64 x)
|
||||
{
|
||||
__asm__(
|
||||
" dsbh %0, %1 \n"
|
||||
" dshd %0, %0 \n"
|
||||
" drotr %0, %0, 32 \n"
|
||||
" dsbh %0, %1\n"
|
||||
" dshd %0, %0"
|
||||
: "=r" (x)
|
||||
: "r" (x));
|
||||
|
||||
|
|
|
|||
|
|
@ -232,7 +232,7 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
|
|||
*/
|
||||
#ifdef __MIPSEB__
|
||||
#define ELF_DATA ELFDATA2MSB
|
||||
#elif __MIPSEL__
|
||||
#elif defined(__MIPSEL__)
|
||||
#define ELF_DATA ELFDATA2LSB
|
||||
#endif
|
||||
#define ELF_ARCH EM_MIPS
|
||||
|
|
|
|||
|
|
@ -79,6 +79,11 @@ static inline void pcibios_penalize_isa_irq(int irq, int active)
|
|||
/* We don't do dynamic PCI IRQ allocation */
|
||||
}
|
||||
|
||||
#define HAVE_PCI_MMAP
|
||||
|
||||
extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
|
||||
enum pci_mmap_state mmap_state, int write_combine);
|
||||
|
||||
/*
|
||||
* Dynamic DMA mapping stuff.
|
||||
* MIPS has everything mapped statically.
|
||||
|
|
|
|||
|
|
@ -174,8 +174,8 @@ static unsigned int translate_open_flags(int flags)
|
|||
|
||||
static void sp_setfsuidgid( uid_t uid, gid_t gid)
|
||||
{
|
||||
current->fsuid = uid;
|
||||
current->fsgid = gid;
|
||||
current->cred->fsuid = uid;
|
||||
current->cred->fsgid = gid;
|
||||
|
||||
key_fsuid_changed(current);
|
||||
key_fsgid_changed(current);
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len,
|
|||
int retval;
|
||||
struct task_struct *p;
|
||||
struct thread_info *ti;
|
||||
uid_t euid;
|
||||
|
||||
if (len < sizeof(new_mask))
|
||||
return -EINVAL;
|
||||
|
|
@ -76,9 +77,9 @@ asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len,
|
|||
*/
|
||||
get_task_struct(p);
|
||||
|
||||
euid = current_euid();
|
||||
retval = -EPERM;
|
||||
if ((current->euid != p->euid) && (current->euid != p->uid) &&
|
||||
!capable(CAP_SYS_NICE)) {
|
||||
if (euid != p->euid && euid != p->uid && !capable(CAP_SYS_NICE)) {
|
||||
read_unlock(&tasklist_lock);
|
||||
goto out_unlock;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -262,14 +262,11 @@ bad_alignment:
|
|||
LEAF(sys_syscall)
|
||||
subu t0, a0, __NR_O32_Linux # check syscall number
|
||||
sltiu v0, t0, __NR_O32_Linux_syscalls + 1
|
||||
beqz t0, einval # do not recurse
|
||||
sll t1, t0, 3
|
||||
beqz v0, einval
|
||||
|
||||
lw t2, sys_call_table(t1) # syscall routine
|
||||
|
||||
li v1, 4000 - __NR_O32_Linux # index of sys_syscall
|
||||
beq t0, v1, einval # do not recurse
|
||||
|
||||
/* Some syscalls like execve get their arguments from struct pt_regs
|
||||
and claim zero arguments in the syscall table. Thus we have to
|
||||
assume the worst case and shuffle around all potential arguments.
|
||||
|
|
@ -627,7 +624,7 @@ einval: li v0, -ENOSYS
|
|||
sys sys_pselect6 6
|
||||
sys sys_ppoll 5
|
||||
sys sys_unshare 1
|
||||
sys sys_splice 4
|
||||
sys sys_splice 6
|
||||
sys sys_sync_file_range 7 /* 4305 */
|
||||
sys sys_tee 4
|
||||
sys sys_vmsplice 4
|
||||
|
|
|
|||
|
|
@ -390,7 +390,7 @@ EXPORT(sysn32_call_table)
|
|||
PTR sys_splice
|
||||
PTR sys_sync_file_range
|
||||
PTR sys_tee
|
||||
PTR sys_vmsplice /* 6270 */
|
||||
PTR compat_sys_vmsplice /* 6270 */
|
||||
PTR sys_move_pages
|
||||
PTR compat_sys_set_robust_list
|
||||
PTR compat_sys_get_robust_list
|
||||
|
|
|
|||
|
|
@ -174,14 +174,12 @@ not_o32_scall:
|
|||
END(handle_sys)
|
||||
|
||||
LEAF(sys32_syscall)
|
||||
sltu v0, a0, __NR_O32_Linux + __NR_O32_Linux_syscalls + 1
|
||||
subu t0, a0, __NR_O32_Linux # check syscall number
|
||||
sltiu v0, t0, __NR_O32_Linux_syscalls + 1
|
||||
beqz t0, einval # do not recurse
|
||||
dsll t1, t0, 3
|
||||
beqz v0, einval
|
||||
|
||||
dsll v0, a0, 3
|
||||
ld t2, (sys_call_table - (__NR_O32_Linux * 8))(v0)
|
||||
|
||||
li v1, 4000 # indirect syscall number
|
||||
beq a0, v1, einval # do not recurse
|
||||
ld t2, sys_call_table(t1) # syscall routine
|
||||
|
||||
move a0, a1 # shift argument registers
|
||||
move a1, a2
|
||||
|
|
@ -198,7 +196,7 @@ LEAF(sys32_syscall)
|
|||
jr t2
|
||||
/* Unreached */
|
||||
|
||||
einval: li v0, -EINVAL
|
||||
einval: li v0, -ENOSYS
|
||||
jr ra
|
||||
END(sys32_syscall)
|
||||
|
||||
|
|
@ -512,7 +510,7 @@ sys_call_table:
|
|||
PTR sys_splice
|
||||
PTR sys32_sync_file_range /* 4305 */
|
||||
PTR sys_tee
|
||||
PTR sys_vmsplice
|
||||
PTR compat_sys_vmsplice
|
||||
PTR compat_sys_move_pages
|
||||
PTR compat_sys_set_robust_list
|
||||
PTR compat_sys_get_robust_list /* 4310 */
|
||||
|
|
|
|||
|
|
@ -1085,8 +1085,8 @@ static int vpe_open(struct inode *inode, struct file *filp)
|
|||
v->load_addr = NULL;
|
||||
v->len = 0;
|
||||
|
||||
v->uid = filp->f_uid;
|
||||
v->gid = filp->f_gid;
|
||||
v->uid = filp->f_cred->fsuid;
|
||||
v->gid = filp->f_cred->fsgid;
|
||||
|
||||
#ifdef CONFIG_MIPS_APSP_KSPD
|
||||
/* get kspd to tell us when a syscall_exit happens */
|
||||
|
|
@ -1134,7 +1134,7 @@ static int vpe_release(struct inode *inode, struct file *filp)
|
|||
|
||||
/* It's good to be able to run the SP and if it chokes have a look at
|
||||
the /dev/rt?. But if we reset the pointer to the shared struct we
|
||||
loose what has happened. So perhaps if garbage is sent to the vpe
|
||||
lose what has happened. So perhaps if garbage is sent to the vpe
|
||||
device, use it as a trigger for the reset. Hopefully a nice
|
||||
executable will be along shortly. */
|
||||
if (ret < 0)
|
||||
|
|
|
|||
|
|
@ -111,6 +111,7 @@ EXPORT_SYMBOL(dma_alloc_coherent);
|
|||
void dma_free_noncoherent(struct device *dev, size_t size, void *vaddr,
|
||||
dma_addr_t dma_handle)
|
||||
{
|
||||
plat_unmap_dma_mem(dma_handle);
|
||||
free_pages((unsigned long) vaddr, get_order(size));
|
||||
}
|
||||
|
||||
|
|
@ -121,6 +122,8 @@ void dma_free_coherent(struct device *dev, size_t size, void *vaddr,
|
|||
{
|
||||
unsigned long addr = (unsigned long) vaddr;
|
||||
|
||||
plat_unmap_dma_mem(dma_handle);
|
||||
|
||||
if (!plat_device_is_coherent(dev))
|
||||
addr = CAC_ADDR(addr);
|
||||
|
||||
|
|
|
|||
|
|
@ -7,9 +7,8 @@
|
|||
#
|
||||
obj-y := malta-amon.o malta-cmdline.o \
|
||||
malta-display.o malta-init.o malta-int.o \
|
||||
malta-memory.o malta-mtd.o \
|
||||
malta-platform.o malta-reset.o \
|
||||
malta-setup.o malta-time.o
|
||||
malta-memory.o malta-platform.o \
|
||||
malta-reset.o malta-setup.o malta-time.o
|
||||
|
||||
obj-$(CONFIG_EARLY_PRINTK) += malta-console.o
|
||||
obj-$(CONFIG_PCI) += malta-pci.o
|
||||
|
|
|
|||
|
|
@ -1,63 +0,0 @@
|
|||
/*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (C) 2006 MIPS Technologies, Inc.
|
||||
* written by Ralf Baechle <ralf@linux-mips.org>
|
||||
*/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/mtd/partitions.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <mtd/mtd-abi.h>
|
||||
|
||||
static struct mtd_partition malta_mtd_partitions[] = {
|
||||
{
|
||||
.name = "YAMON",
|
||||
.offset = 0x0,
|
||||
.size = 0x100000,
|
||||
.mask_flags = MTD_WRITEABLE
|
||||
}, {
|
||||
.name = "User FS",
|
||||
.offset = 0x100000,
|
||||
.size = 0x2e0000
|
||||
}, {
|
||||
.name = "Board Config",
|
||||
.offset = 0x3e0000,
|
||||
.size = 0x020000,
|
||||
.mask_flags = MTD_WRITEABLE
|
||||
}
|
||||
};
|
||||
|
||||
static struct physmap_flash_data malta_flash_data = {
|
||||
.width = 4,
|
||||
.nr_parts = ARRAY_SIZE(malta_mtd_partitions),
|
||||
.parts = malta_mtd_partitions
|
||||
};
|
||||
|
||||
static struct resource malta_flash_resource = {
|
||||
.start = 0x1e000000,
|
||||
.end = 0x1e3fffff,
|
||||
.flags = IORESOURCE_MEM
|
||||
};
|
||||
|
||||
static struct platform_device malta_flash = {
|
||||
.name = "physmap-flash",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &malta_flash_data,
|
||||
},
|
||||
.num_resources = 1,
|
||||
.resource = &malta_flash_resource,
|
||||
};
|
||||
|
||||
static int __init malta_mtd_init(void)
|
||||
{
|
||||
platform_device_register(&malta_flash);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
module_init(malta_mtd_init)
|
||||
|
|
@ -3,10 +3,14 @@
|
|||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright (C) 2007 MIPS Technologies, Inc.
|
||||
* Copyright (C) 2006, 07 MIPS Technologies, Inc.
|
||||
* written by Ralf Baechle (ralf@linux-mips.org)
|
||||
* written by Ralf Baechle <ralf@linux-mips.org>
|
||||
*
|
||||
* Probe driver for the Malta's UART ports:
|
||||
* Copyright (C) 2008 Wind River Systems, Inc.
|
||||
* updated by Tiejun Chen <tiejun.chen@windriver.com>
|
||||
*
|
||||
* 1. Probe driver for the Malta's UART ports:
|
||||
*
|
||||
* o 2 ports in the SMC SuperIO
|
||||
* o 1 port in the CBUS UART, a discrete 16550 which normally is only used
|
||||
|
|
@ -14,10 +18,17 @@
|
|||
*
|
||||
* We don't use 8250_platform.c on Malta as it would result in the CBUS
|
||||
* UART becoming ttyS0.
|
||||
*
|
||||
* 2. Register RTC-CMOS platform device on Malta.
|
||||
*/
|
||||
#include <linux/module.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/serial_8250.h>
|
||||
#include <linux/mc146818rtc.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/mtd/partitions.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <mtd/mtd-abi.h>
|
||||
|
||||
#define SMC_PORT(base, int) \
|
||||
{ \
|
||||
|
|
@ -45,21 +56,93 @@ static struct plat_serial8250_port uart8250_data[] = {
|
|||
{ },
|
||||
};
|
||||
|
||||
static struct platform_device uart8250_device = {
|
||||
static struct platform_device malta_uart8250_device = {
|
||||
.name = "serial8250",
|
||||
.id = PLAT8250_DEV_PLATFORM2,
|
||||
.id = PLAT8250_DEV_PLATFORM,
|
||||
.dev = {
|
||||
.platform_data = uart8250_data,
|
||||
},
|
||||
};
|
||||
|
||||
static int __init uart8250_init(void)
|
||||
struct resource malta_rtc_resources[] = {
|
||||
{
|
||||
.start = RTC_PORT(0),
|
||||
.end = RTC_PORT(7),
|
||||
.flags = IORESOURCE_IO,
|
||||
}, {
|
||||
.start = RTC_IRQ,
|
||||
.end = RTC_IRQ,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
}
|
||||
};
|
||||
|
||||
static struct platform_device malta_rtc_device = {
|
||||
.name = "rtc_cmos",
|
||||
.id = -1,
|
||||
.resource = malta_rtc_resources,
|
||||
.num_resources = ARRAY_SIZE(malta_rtc_resources),
|
||||
};
|
||||
|
||||
static struct mtd_partition malta_mtd_partitions[] = {
|
||||
{
|
||||
.name = "YAMON",
|
||||
.offset = 0x0,
|
||||
.size = 0x100000,
|
||||
.mask_flags = MTD_WRITEABLE
|
||||
}, {
|
||||
.name = "User FS",
|
||||
.offset = 0x100000,
|
||||
.size = 0x2e0000
|
||||
}, {
|
||||
.name = "Board Config",
|
||||
.offset = 0x3e0000,
|
||||
.size = 0x020000,
|
||||
.mask_flags = MTD_WRITEABLE
|
||||
}
|
||||
};
|
||||
|
||||
static struct physmap_flash_data malta_flash_data = {
|
||||
.width = 4,
|
||||
.nr_parts = ARRAY_SIZE(malta_mtd_partitions),
|
||||
.parts = malta_mtd_partitions
|
||||
};
|
||||
|
||||
static struct resource malta_flash_resource = {
|
||||
.start = 0x1e000000,
|
||||
.end = 0x1e3fffff,
|
||||
.flags = IORESOURCE_MEM
|
||||
};
|
||||
|
||||
static struct platform_device malta_flash_device = {
|
||||
.name = "physmap-flash",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &malta_flash_data,
|
||||
},
|
||||
.num_resources = 1,
|
||||
.resource = &malta_flash_resource,
|
||||
};
|
||||
|
||||
static struct platform_device *malta_devices[] __initdata = {
|
||||
&malta_uart8250_device,
|
||||
&malta_rtc_device,
|
||||
&malta_flash_device,
|
||||
};
|
||||
|
||||
static int __init malta_add_devices(void)
|
||||
{
|
||||
return platform_device_register(&uart8250_device);
|
||||
int err;
|
||||
|
||||
err = platform_add_devices(malta_devices, ARRAY_SIZE(malta_devices));
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
/*
|
||||
* Set RTC to BCD mode to support current alarm code.
|
||||
*/
|
||||
CMOS_WRITE(CMOS_READ(RTC_CONTROL) & ~RTC_DM_BINARY, RTC_CONTROL);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
module_init(uart8250_init);
|
||||
|
||||
MODULE_AUTHOR("Ralf Baechle <[email protected]>");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_DESCRIPTION("8250 UART probe driver for the Malta CBUS UART");
|
||||
device_initcall(malta_add_devices);
|
||||
|
|
|
|||
|
|
@ -354,6 +354,30 @@ EXPORT_SYMBOL(PCIBIOS_MIN_IO);
|
|||
EXPORT_SYMBOL(PCIBIOS_MIN_MEM);
|
||||
#endif
|
||||
|
||||
int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma,
|
||||
enum pci_mmap_state mmap_state, int write_combine)
|
||||
{
|
||||
unsigned long prot;
|
||||
|
||||
/*
|
||||
* I/O space can be accessed via normal processor loads and stores on
|
||||
* this platform but for now we elect not to do this and portable
|
||||
* drivers should not do this anyway.
|
||||
*/
|
||||
if (mmap_state == pci_mmap_io)
|
||||
return -EINVAL;
|
||||
|
||||
/*
|
||||
* Ignore write-combine; for now only return uncached mappings.
|
||||
*/
|
||||
prot = pgprot_val(vma->vm_page_prot);
|
||||
prot = (prot & ~_CACHE_MASK) | _CACHE_UNCACHED;
|
||||
vma->vm_page_prot = __pgprot(prot);
|
||||
|
||||
return remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff,
|
||||
vma->vm_end - vma->vm_start, vma->vm_page_prot);
|
||||
}
|
||||
|
||||
char * (*pcibios_plat_setup)(char *str) __devinitdata;
|
||||
|
||||
char *__devinit pcibios_setup(char *str)
|
||||
|
|
|
|||
|
|
@ -180,6 +180,7 @@ ENTRY(resume_userspace)
|
|||
|
||||
#ifdef CONFIG_PREEMPT
|
||||
ENTRY(resume_kernel)
|
||||
__cli
|
||||
mov (TI_preempt_count,a2),d0 # non-zero preempt_count ?
|
||||
cmp 0,d0
|
||||
bne restore_all
|
||||
|
|
@ -190,7 +191,7 @@ need_resched:
|
|||
mov (REG_EPSW,fp),d0
|
||||
and EPSW_IM,d0
|
||||
cmp EPSW_IM_7,d0 # interrupts off (exception path) ?
|
||||
beq restore_all
|
||||
bne restore_all
|
||||
call preempt_schedule_irq[],0
|
||||
jmp need_resched
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ int gdbstub_io_rx_char(unsigned char *_ch, int nonblock)
|
|||
try_again:
|
||||
/* pull chars out of the buffer */
|
||||
ix = gdbstub_rx_outp;
|
||||
barrier();
|
||||
if (ix == gdbstub_rx_inp) {
|
||||
if (nonblock)
|
||||
return -EAGAIN;
|
||||
|
|
@ -110,6 +111,7 @@ int gdbstub_io_rx_char(unsigned char *_ch, int nonblock)
|
|||
|
||||
ch = gdbstub_rx_buffer[ix++];
|
||||
st = gdbstub_rx_buffer[ix++];
|
||||
barrier();
|
||||
gdbstub_rx_outp = ix & 0x00000fff;
|
||||
|
||||
if (st & UART_LSR_BI) {
|
||||
|
|
|
|||
|
|
@ -566,6 +566,11 @@ static void mn10300_serial_transmit_interrupt(struct mn10300_serial_port *port)
|
|||
{
|
||||
_enter("%s", port->name);
|
||||
|
||||
if (!port->uart.info || !port->uart.info->port.tty) {
|
||||
mn10300_serial_dis_tx_intr(port);
|
||||
return;
|
||||
}
|
||||
|
||||
if (uart_tx_stopped(&port->uart) ||
|
||||
uart_circ_empty(&port->uart.info->xmit))
|
||||
mn10300_serial_dis_tx_intr(port);
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@ void __init setup_arch(char **cmdline_p)
|
|||
reserve the page it is occupying. */
|
||||
if (CONFIG_INTERRUPT_VECTOR_BASE >= CONFIG_KERNEL_RAM_BASE_ADDRESS &&
|
||||
CONFIG_INTERRUPT_VECTOR_BASE < memory_end)
|
||||
reserve_bootmem(CONFIG_INTERRUPT_VECTOR_BASE, 1,
|
||||
reserve_bootmem(CONFIG_INTERRUPT_VECTOR_BASE, PAGE_SIZE,
|
||||
BOOTMEM_DEFAULT);
|
||||
|
||||
reserve_bootmem(PAGE_ALIGN(PFN_PHYS(free_pfn)), bootmap_size,
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#define __VMLINUX_LDS__
|
||||
#include <asm-generic/vmlinux.lds.h>
|
||||
#include <asm/thread_info.h>
|
||||
#include <asm/page.h>
|
||||
|
||||
OUTPUT_FORMAT("elf32-am33lin", "elf32-am33lin", "elf32-am33lin")
|
||||
OUTPUT_ARCH(mn10300)
|
||||
|
|
@ -55,13 +56,13 @@ SECTIONS
|
|||
CONSTRUCTORS
|
||||
}
|
||||
|
||||
. = ALIGN(4096);
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__nosave_begin = .;
|
||||
.data_nosave : { *(.data.nosave) }
|
||||
. = ALIGN(4096);
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__nosave_end = .;
|
||||
|
||||
. = ALIGN(4096);
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
.data.page_aligned : { *(.data.idt) }
|
||||
|
||||
. = ALIGN(32);
|
||||
|
|
@ -78,7 +79,7 @@ SECTIONS
|
|||
.data.init_task : { *(.data.init_task) }
|
||||
|
||||
/* might get freed after init */
|
||||
. = ALIGN(4096);
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
.smp_locks : AT(ADDR(.smp_locks) - LOAD_OFFSET) {
|
||||
__smp_locks = .;
|
||||
*(.smp_locks)
|
||||
|
|
@ -86,7 +87,7 @@ SECTIONS
|
|||
}
|
||||
|
||||
/* will be freed after init */
|
||||
. = ALIGN(4096); /* Init code and data */
|
||||
. = ALIGN(PAGE_SIZE); /* Init code and data */
|
||||
__init_begin = .;
|
||||
.init.text : {
|
||||
_sinittext = .;
|
||||
|
|
@ -120,17 +121,14 @@ SECTIONS
|
|||
.exit.data : { *(.exit.data) }
|
||||
|
||||
#ifdef CONFIG_BLK_DEV_INITRD
|
||||
. = ALIGN(4096);
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__initramfs_start = .;
|
||||
.init.ramfs : { *(.init.ramfs) }
|
||||
__initramfs_end = .;
|
||||
#endif
|
||||
|
||||
. = ALIGN(32);
|
||||
__per_cpu_start = .;
|
||||
.data.percpu : { *(.data.percpu) }
|
||||
__per_cpu_end = .;
|
||||
. = ALIGN(4096);
|
||||
PERCPU(32)
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__init_end = .;
|
||||
/* freed after init ends here */
|
||||
|
||||
|
|
@ -145,7 +143,7 @@ SECTIONS
|
|||
_end = . ;
|
||||
|
||||
/* This is where the kernel creates the early boot page tables */
|
||||
. = ALIGN(4096);
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
pg0 = .;
|
||||
|
||||
/* Sections to be discarded */
|
||||
|
|
|
|||
|
|
@ -44,9 +44,12 @@ static inline void flush_tlb_mm(struct mm_struct *mm)
|
|||
{
|
||||
BUG_ON(mm == &init_mm); /* Should never happen */
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
#if 1 || defined(CONFIG_SMP)
|
||||
flush_tlb_all();
|
||||
#else
|
||||
/* FIXME: currently broken, causing space id and protection ids
|
||||
* to go out of sync, resulting in faults on userspace accesses.
|
||||
*/
|
||||
if (mm) {
|
||||
if (mm->context != 0)
|
||||
free_sid(mm->context);
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ give_sigsegv:
|
|||
si.si_errno = 0;
|
||||
si.si_code = SI_KERNEL;
|
||||
si.si_pid = task_pid_vnr(current);
|
||||
si.si_uid = current->uid;
|
||||
si.si_uid = current_uid();
|
||||
si.si_addr = &frame->uc;
|
||||
force_sig_info(SIGSEGV, &si, current);
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ config GENERIC_NVRAM
|
|||
bool
|
||||
default y if PPC32
|
||||
|
||||
config SCHED_NO_NO_OMIT_FRAME_POINTER
|
||||
config SCHED_OMIT_FRAME_POINTER
|
||||
bool
|
||||
default y
|
||||
|
||||
|
|
@ -285,6 +285,10 @@ config IOMMU_VMERGE
|
|||
config IOMMU_HELPER
|
||||
def_bool PPC64
|
||||
|
||||
config PPC_NEED_DMA_SYNC_OPS
|
||||
def_bool y
|
||||
depends on NOT_COHERENT_CACHE
|
||||
|
||||
config HOTPLUG_CPU
|
||||
bool "Support for enabling/disabling CPUs"
|
||||
depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC)
|
||||
|
|
@ -322,7 +326,7 @@ config KEXEC
|
|||
|
||||
config CRASH_DUMP
|
||||
bool "Build a kdump crash kernel"
|
||||
depends on PPC_MULTIPLATFORM && PPC64 && RELOCATABLE
|
||||
depends on (PPC64 && RELOCATABLE) || 6xx
|
||||
help
|
||||
Build a kernel suitable for use as a kdump capture kernel.
|
||||
The same kernel binary can be used as production kernel and dump
|
||||
|
|
@ -401,23 +405,53 @@ config PPC_HAS_HASH_64K
|
|||
depends on PPC64
|
||||
default n
|
||||
|
||||
config PPC_64K_PAGES
|
||||
bool "64k page size"
|
||||
depends on PPC64
|
||||
select PPC_HAS_HASH_64K
|
||||
choice
|
||||
prompt "Page size"
|
||||
default PPC_4K_PAGES
|
||||
help
|
||||
This option changes the kernel logical page size to 64k. On machines
|
||||
without processor support for 64k pages, the kernel will simulate
|
||||
them by loading each individual 4k page on demand transparently,
|
||||
while on hardware with such support, it will be used to map
|
||||
normal application pages.
|
||||
Select the kernel logical page size. Increasing the page size
|
||||
will reduce software overhead at each page boundary, allow
|
||||
hardware prefetch mechanisms to be more effective, and allow
|
||||
larger dma transfers increasing IO efficiency and reducing
|
||||
overhead. However the utilization of memory will increase.
|
||||
For example, each cached file will using a multiple of the
|
||||
page size to hold its contents and the difference between the
|
||||
end of file and the end of page is wasted.
|
||||
|
||||
Some dedicated systems, such as software raid serving with
|
||||
accelerated calculations, have shown significant increases.
|
||||
|
||||
If you configure a 64 bit kernel for 64k pages but the
|
||||
processor does not support them, then the kernel will simulate
|
||||
them with 4k pages, loading them on demand, but with the
|
||||
reduced software overhead and larger internal fragmentation.
|
||||
For the 32 bit kernel, a large page option will not be offered
|
||||
unless it is supported by the configured processor.
|
||||
|
||||
If unsure, choose 4K_PAGES.
|
||||
|
||||
config PPC_4K_PAGES
|
||||
bool "4k page size"
|
||||
|
||||
config PPC_16K_PAGES
|
||||
bool "16k page size" if 44x
|
||||
|
||||
config PPC_64K_PAGES
|
||||
bool "64k page size" if 44x || PPC_STD_MMU_64
|
||||
select PPC_HAS_HASH_64K if PPC_STD_MMU_64
|
||||
|
||||
endchoice
|
||||
|
||||
config FORCE_MAX_ZONEORDER
|
||||
int "Maximum zone order"
|
||||
range 9 64 if PPC_64K_PAGES
|
||||
default "9" if PPC_64K_PAGES
|
||||
range 13 64 if PPC64 && !PPC_64K_PAGES
|
||||
default "13" if PPC64 && !PPC_64K_PAGES
|
||||
range 9 64 if PPC_STD_MMU_64 && PPC_64K_PAGES
|
||||
default "9" if PPC_STD_MMU_64 && PPC_64K_PAGES
|
||||
range 13 64 if PPC_STD_MMU_64 && !PPC_64K_PAGES
|
||||
default "13" if PPC_STD_MMU_64 && !PPC_64K_PAGES
|
||||
range 9 64 if PPC_STD_MMU_32 && PPC_16K_PAGES
|
||||
default "9" if PPC_STD_MMU_32 && PPC_16K_PAGES
|
||||
range 7 64 if PPC_STD_MMU_32 && PPC_64K_PAGES
|
||||
default "7" if PPC_STD_MMU_32 && PPC_64K_PAGES
|
||||
range 11 64
|
||||
default "11"
|
||||
help
|
||||
|
|
@ -437,7 +471,7 @@ config FORCE_MAX_ZONEORDER
|
|||
|
||||
config PPC_SUBPAGE_PROT
|
||||
bool "Support setting protections for 4k subpages"
|
||||
depends on PPC_64K_PAGES
|
||||
depends on PPC_STD_MMU_64 && PPC_64K_PAGES
|
||||
help
|
||||
This option adds support for a system call to allow user programs
|
||||
to set access permissions (read/write, readonly, or no access)
|
||||
|
|
|
|||
|
|
@ -2,6 +2,15 @@ menu "Kernel hacking"
|
|||
|
||||
source "lib/Kconfig.debug"
|
||||
|
||||
config PRINT_STACK_DEPTH
|
||||
int "Stack depth to print" if DEBUG_KERNEL
|
||||
default 64
|
||||
help
|
||||
This option allows you to set the stack depth that the kernel
|
||||
prints in stack traces. This can be useful if your display is
|
||||
too small and stack traces cause important information to
|
||||
scroll off the screen.
|
||||
|
||||
config DEBUG_STACKOVERFLOW
|
||||
bool "Check for stack overflows"
|
||||
depends on DEBUG_KERNEL
|
||||
|
|
|
|||
|
|
@ -107,7 +107,6 @@ KBUILD_CFLAGS += $(call cc-option,-mno-altivec)
|
|||
# (We use all available options to help semi-broken compilers)
|
||||
KBUILD_CFLAGS += $(call cc-option,-mno-spe)
|
||||
KBUILD_CFLAGS += $(call cc-option,-mspe=no)
|
||||
KBUILD_CFLAGS += $(call cc-option,-mabi=no-spe)
|
||||
|
||||
# Enable unit-at-a-time mode when possible. It shrinks the
|
||||
# kernel considerably.
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ $(obj)/4xx.o: BOOTCFLAGS += -mcpu=405
|
|||
$(obj)/ebony.o: BOOTCFLAGS += -mcpu=405
|
||||
$(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405
|
||||
$(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405
|
||||
$(obj)/cuboot-acadia.o: BOOTCFLAGS += -mcpu=405
|
||||
$(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405
|
||||
$(obj)/virtex405-head.o: BOOTAFLAGS += -mcpu=405
|
||||
|
||||
|
|
@ -193,6 +194,7 @@ image-$(CONFIG_PPC_MAPLE) += zImage.pseries
|
|||
image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries
|
||||
image-$(CONFIG_PPC_PS3) += dtbImage.ps3
|
||||
image-$(CONFIG_PPC_CELLEB) += zImage.pseries
|
||||
image-$(CONFIG_PPC_CELL_QPACE) += zImage.pseries
|
||||
image-$(CONFIG_PPC_CHRP) += zImage.chrp
|
||||
image-$(CONFIG_PPC_EFIKA) += zImage.chrp
|
||||
image-$(CONFIG_PPC_PMAC) += zImage.pmac
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ static int find_range(u32 *reg, u32 *ranges, int nregaddr,
|
|||
u32 range_addr[MAX_ADDR_CELLS];
|
||||
u32 range_size[MAX_ADDR_CELLS];
|
||||
|
||||
copy_val(range_addr, ranges + i, naddr);
|
||||
copy_val(range_addr, ranges + i, nregaddr);
|
||||
copy_val(range_size, ranges + i + nregaddr + naddr, nsize);
|
||||
|
||||
if (compare_reg(reg, range_addr, range_size))
|
||||
|
|
|
|||
|
|
@ -199,8 +199,26 @@
|
|||
reg = <0x2>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
mdio@25520 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,gianfar-tbi";
|
||||
reg = <0x25520 0x20>;
|
||||
|
||||
tbi1: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
enet0: ethernet@24000 {
|
||||
cell-index = <0>;
|
||||
device_type = "network";
|
||||
|
|
@ -210,6 +228,7 @@
|
|||
local-mac-address = [ 00 08 e5 11 32 33 ];
|
||||
interrupts = <32 0x8 33 0x8 34 0x8>;
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = <&tbi0>;
|
||||
phy-handle = <&phy0>;
|
||||
linux,network-index = <0>;
|
||||
};
|
||||
|
|
@ -223,6 +242,7 @@
|
|||
local-mac-address = [ 00 08 e5 11 32 34 ];
|
||||
interrupts = <35 0x8 36 0x8 37 0x8>;
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = <&tbi1>;
|
||||
phy-handle = <&phy1>;
|
||||
linux,network-index = <1>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -269,7 +269,8 @@
|
|||
* later cannot be changed. Chip supports a second
|
||||
* IO range but we don't use it for now
|
||||
*/
|
||||
ranges = <0x02000000 0x00000000 0xa0000000 0x00000000 0xa0000000 0x00000000 0x20000000
|
||||
ranges = <0x02000000 0x00000000 0xa0000000 0x00000000 0xa0000000 0x00000000 0x40000000
|
||||
0x02000000 0x00000000 0x00000000 0x00000000 0xe0000000 0x00000000 0x00100000
|
||||
0x01000000 0x00000000 0x00000000 0x00000000 0xe8000000 0x00000000 0x00010000>;
|
||||
|
||||
/* Inbound 2GB range starting at 0 */
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@
|
|||
d-cache-size = <32768>;
|
||||
dcr-controller;
|
||||
dcr-access-method = "native";
|
||||
next-level-cache = <&L2C0>;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -104,6 +105,16 @@
|
|||
dcr-reg = <0x00c 0x002>;
|
||||
};
|
||||
|
||||
L2C0: l2c {
|
||||
compatible = "ibm,l2-cache-460ex", "ibm,l2-cache";
|
||||
dcr-reg = <0x020 0x008 /* Internal SRAM DCR's */
|
||||
0x030 0x008>; /* L2 cache DCR's */
|
||||
cache-line-size = <32>; /* 32 bytes */
|
||||
cache-size = <262144>; /* L2, 256K */
|
||||
interrupt-parent = <&UIC1>;
|
||||
interrupts = <11 1>;
|
||||
};
|
||||
|
||||
plb {
|
||||
compatible = "ibm,plb-460ex", "ibm,plb4";
|
||||
#address-cells = <2>;
|
||||
|
|
@ -343,6 +354,7 @@
|
|||
* later cannot be changed
|
||||
*/
|
||||
ranges = <0x02000000 0x00000000 0x80000000 0x0000000d 0x80000000 0x00000000 0x80000000
|
||||
0x02000000 0x00000000 0x00000000 0x0000000c 0x0ee00000 0x00000000 0x00100000
|
||||
0x01000000 0x00000000 0x00000000 0x0000000c 0x08000000 0x00000000 0x00010000>;
|
||||
|
||||
/* Inbound 2GB range starting at 0 */
|
||||
|
|
@ -373,6 +385,7 @@
|
|||
* later cannot be changed
|
||||
*/
|
||||
ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x00000000 0x00000000 0x80000000
|
||||
0x02000000 0x00000000 0x00000000 0x0000000f 0x00000000 0x00000000 0x00100000
|
||||
0x01000000 0x00000000 0x00000000 0x0000000f 0x80000000 0x00000000 0x00010000>;
|
||||
|
||||
/* Inbound 2GB range starting at 0 */
|
||||
|
|
@ -414,6 +427,7 @@
|
|||
* later cannot be changed
|
||||
*/
|
||||
ranges = <0x02000000 0x00000000 0x80000000 0x0000000e 0x80000000 0x00000000 0x80000000
|
||||
0x02000000 0x00000000 0x00000000 0x0000000f 0x00100000 0x00000000 0x00100000
|
||||
0x01000000 0x00000000 0x00000000 0x0000000f 0x80010000 0x00000000 0x00010000>;
|
||||
|
||||
/* Inbound 2GB range starting at 0 */
|
||||
|
|
|
|||
|
|
@ -98,6 +98,12 @@
|
|||
interrupt-parent = <&mpic>;
|
||||
|
||||
};
|
||||
gef_gpio: gpio@7,14000 {
|
||||
#gpio-cells = <2>;
|
||||
compatible = "gef,sbc610-gpio";
|
||||
reg = <0x7 0x14000 0x24>;
|
||||
gpio-controller;
|
||||
};
|
||||
};
|
||||
|
||||
soc@fef00000 {
|
||||
|
|
@ -119,6 +125,11 @@
|
|||
interrupt-parent = <&mpic>;
|
||||
dfsrr;
|
||||
|
||||
rtc@51 {
|
||||
compatible = "epson,rx8581";
|
||||
reg = <0x00000051>;
|
||||
};
|
||||
|
||||
eti@6b {
|
||||
compatible = "dallas,ds1682";
|
||||
reg = <0x6b>;
|
||||
|
|
|
|||
|
|
@ -141,8 +141,26 @@
|
|||
reg = <0x2>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
mdio@25520 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,gianfar-tbi";
|
||||
reg = <0x25520 0x20>;
|
||||
|
||||
tbi1: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
enet0: ethernet@24000 {
|
||||
device_type = "network";
|
||||
model = "TSEC";
|
||||
|
|
@ -152,6 +170,7 @@
|
|||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
interrupts = <0x1d 0x2 0x1e 0x2 0x22 0x2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
tbi-handle = <&tbi0>;
|
||||
phy-handle = <&PHY1>;
|
||||
};
|
||||
|
||||
|
|
@ -164,6 +183,7 @@
|
|||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
interrupts = <0x23 0x2 0x24 0x2 0x28 0x2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
tbi-handle = <&tbi1>;
|
||||
phy-handle = <&PHY2>;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -76,7 +76,6 @@ XXXX add flash parts, rtc, ??
|
|||
interrupt-parent = <&mpic>;
|
||||
|
||||
rtc@32 {
|
||||
device_type = "rtc";
|
||||
compatible = "ricoh,rs5c372a";
|
||||
reg = <0x32>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -76,7 +76,6 @@ XXXX add flash parts, rtc, ??
|
|||
interrupt-parent = <&mpic>;
|
||||
|
||||
rtc@32 {
|
||||
device_type = "rtc";
|
||||
compatible = "ricoh,rs5c372a";
|
||||
reg = <0x32>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -130,7 +130,6 @@
|
|||
|
||||
rtc@800 { // Real time clock
|
||||
compatible = "fsl,mpc5200-rtc";
|
||||
device_type = "rtc";
|
||||
reg = <0x800 0x100>;
|
||||
interrupts = <1 5 0 1 6 0>;
|
||||
interrupt-parent = <&mpc5200_pic>;
|
||||
|
|
|
|||
|
|
@ -130,7 +130,6 @@
|
|||
|
||||
rtc@800 { // Real time clock
|
||||
compatible = "fsl,mpc5200b-rtc","fsl,mpc5200-rtc";
|
||||
device_type = "rtc";
|
||||
reg = <0x800 0x100>;
|
||||
interrupts = <1 5 0 1 6 0>;
|
||||
interrupt-parent = <&mpc5200_pic>;
|
||||
|
|
|
|||
|
|
@ -248,7 +248,6 @@
|
|||
fsl5200-clocking;
|
||||
|
||||
rtc@68 {
|
||||
device_type = "rtc";
|
||||
compatible = "dallas,ds1339";
|
||||
reg = <0x68>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -190,6 +190,7 @@
|
|||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
interrupts = <37 0x8 36 0x8 35 0x8>;
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = < &tbi0 >;
|
||||
phy-handle = < &phy1 >;
|
||||
fsl,magic-packet;
|
||||
|
||||
|
|
@ -210,6 +211,10 @@
|
|||
reg = <0x4>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -222,9 +227,24 @@
|
|||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
interrupts = <34 0x8 33 0x8 32 0x8>;
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = < &tbi1 >;
|
||||
phy-handle = < &phy4 >;
|
||||
sleep = <&pmc 0x10000000>;
|
||||
fsl,magic-packet;
|
||||
|
||||
mdio@25520 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,gianfar-tbi";
|
||||
reg = <0x25520 0x20>;
|
||||
|
||||
tbi1: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
|
||||
serial0: serial@4500 {
|
||||
|
|
|
|||
|
|
@ -117,7 +117,6 @@
|
|||
interrupt-parent = <&ipic>;
|
||||
dfsrr;
|
||||
rtc@68 {
|
||||
device_type = "rtc";
|
||||
compatible = "dallas,ds1339";
|
||||
reg = <0x68>;
|
||||
};
|
||||
|
|
@ -206,8 +205,25 @@
|
|||
reg = <0x1>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
mdio@25520 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,gianfar-tbi";
|
||||
reg = <0x25520 0x20>;
|
||||
|
||||
tbi1: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
enet0: ethernet@24000 {
|
||||
cell-index = <0>;
|
||||
device_type = "network";
|
||||
|
|
@ -217,6 +233,7 @@
|
|||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
interrupts = <32 0x8 33 0x8 34 0x8>;
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = <&tbi0>;
|
||||
phy-handle = < &phy0 >;
|
||||
};
|
||||
|
||||
|
|
@ -229,6 +246,7 @@
|
|||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
interrupts = <35 0x8 36 0x8 37 0x8>;
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = <&tbi1>;
|
||||
phy-handle = < &phy1 >;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -85,7 +85,6 @@
|
|||
dfsrr;
|
||||
|
||||
rtc@68 {
|
||||
device_type = "rtc";
|
||||
compatible = "dallas,ds1339";
|
||||
reg = <0x68>;
|
||||
interrupts = <18 0x8>;
|
||||
|
|
@ -184,6 +183,22 @@
|
|||
reg = <0x1c>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
mdio@25520 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,gianfar-tbi";
|
||||
reg = <0x25520 0x20>;
|
||||
|
||||
tbi1: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
enet0: ethernet@24000 {
|
||||
|
|
@ -195,6 +210,7 @@
|
|||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
interrupts = <32 0x8 33 0x8 34 0x8>;
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = <&tbi0>;
|
||||
phy-handle = <&phy1c>;
|
||||
linux,network-index = <0>;
|
||||
};
|
||||
|
|
@ -211,6 +227,7 @@
|
|||
/* Vitesse 7385 isn't on the MDIO bus */
|
||||
fixed-link = <1 1 1000 0 0>;
|
||||
linux,network-index = <1>;
|
||||
tbi-handle = <&tbi1>;
|
||||
};
|
||||
|
||||
serial0: serial@4500 {
|
||||
|
|
|
|||
|
|
@ -83,7 +83,6 @@
|
|||
dfsrr;
|
||||
|
||||
rtc@68 {
|
||||
device_type = "rtc";
|
||||
compatible = "dallas,ds1339";
|
||||
reg = <0x68>;
|
||||
interrupts = <18 0x8>;
|
||||
|
|
@ -163,6 +162,10 @@
|
|||
reg = <0x1c>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
enet0: ethernet@24000 {
|
||||
|
|
@ -174,6 +177,7 @@
|
|||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
interrupts = <32 0x8 33 0x8 34 0x8>;
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = <&tbi0>;
|
||||
phy-handle = <&phy1c>;
|
||||
linux,network-index = <0>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -185,8 +185,25 @@
|
|||
reg = <0x1>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
mdio@25520 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,gianfar-tbi";
|
||||
reg = <0x25520 0x20>;
|
||||
|
||||
tbi1: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
enet0: ethernet@24000 {
|
||||
cell-index = <0>;
|
||||
device_type = "network";
|
||||
|
|
@ -196,6 +213,7 @@
|
|||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
interrupts = <32 0x8 33 0x8 34 0x8>;
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = <&tbi0>;
|
||||
phy-handle = <&phy0>;
|
||||
linux,network-index = <0>;
|
||||
};
|
||||
|
|
@ -209,6 +227,7 @@
|
|||
local-mac-address = [ 00 00 00 00 00 00 ];
|
||||
interrupts = <35 0x8 36 0x8 37 0x8>;
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = <&tbi1>;
|
||||
phy-handle = <&phy1>;
|
||||
linux,network-index = <1>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -193,8 +193,25 @@
|
|||
reg = <0x3>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
mdio@25520 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,gianfar-tbi";
|
||||
reg = <0x25520 0x20>;
|
||||
|
||||
tbi1: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
enet0: ethernet@24000 {
|
||||
cell-index = <0>;
|
||||
device_type = "network";
|
||||
|
|
@ -205,6 +222,7 @@
|
|||
interrupts = <32 0x8 33 0x8 34 0x8>;
|
||||
phy-connection-type = "mii";
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = <&tbi0>;
|
||||
phy-handle = <&phy2>;
|
||||
};
|
||||
|
||||
|
|
@ -218,6 +236,7 @@
|
|||
interrupts = <35 0x8 36 0x8 37 0x8>;
|
||||
phy-connection-type = "mii";
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = <&tbi1>;
|
||||
phy-handle = <&phy3>;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -117,7 +117,6 @@
|
|||
interrupt-parent = <&ipic>;
|
||||
dfsrr;
|
||||
rtc@68 {
|
||||
device_type = "rtc";
|
||||
compatible = "dallas,ds1339";
|
||||
reg = <0x68>;
|
||||
};
|
||||
|
|
@ -211,8 +210,25 @@
|
|||
reg = <0x2>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
mdio@25520 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,gianfar-tbi";
|
||||
reg = <0x25520 0x20>;
|
||||
|
||||
tbi1: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
enet0: ethernet@24000 {
|
||||
cell-index = <0>;
|
||||
device_type = "network";
|
||||
|
|
@ -223,6 +239,7 @@
|
|||
interrupts = <32 0x8 33 0x8 34 0x8>;
|
||||
phy-connection-type = "mii";
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = <&tbi0>;
|
||||
phy-handle = <&phy2>;
|
||||
};
|
||||
|
||||
|
|
@ -237,6 +254,7 @@
|
|||
phy-connection-type = "mii";
|
||||
interrupt-parent = <&ipic>;
|
||||
fixed-link = <1 1 1000 0 0>;
|
||||
tbi-handle = <&tbi1>;
|
||||
};
|
||||
|
||||
serial0: serial@4500 {
|
||||
|
|
|
|||
|
|
@ -232,8 +232,25 @@
|
|||
reg = <0x3>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
mdio@25520 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,gianfar-tbi";
|
||||
reg = <0x25520 0x20>;
|
||||
|
||||
tbi1: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
enet0: ethernet@24000 {
|
||||
cell-index = <0>;
|
||||
device_type = "network";
|
||||
|
|
@ -244,6 +261,7 @@
|
|||
interrupts = <32 0x8 33 0x8 34 0x8>;
|
||||
phy-connection-type = "mii";
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = <&tbi0>;
|
||||
phy-handle = <&phy2>;
|
||||
};
|
||||
|
||||
|
|
@ -257,6 +275,7 @@
|
|||
interrupts = <35 0x8 36 0x8 37 0x8>;
|
||||
phy-connection-type = "mii";
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = <&tbi1>;
|
||||
phy-handle = <&phy3>;
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -117,7 +117,6 @@
|
|||
interrupt-parent = <&ipic>;
|
||||
dfsrr;
|
||||
rtc@68 {
|
||||
device_type = "rtc";
|
||||
compatible = "dallas,ds1339";
|
||||
reg = <0x68>;
|
||||
};
|
||||
|
|
@ -211,8 +210,25 @@
|
|||
reg = <0x2>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
mdio@25520 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,gianfar-tbi";
|
||||
reg = <0x25520 0x20>;
|
||||
|
||||
tbi1: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
enet0: ethernet@24000 {
|
||||
cell-index = <0>;
|
||||
device_type = "network";
|
||||
|
|
|
|||
|
|
@ -232,6 +232,22 @@
|
|||
reg = <0x3>;
|
||||
device_type = "ethernet-phy";
|
||||
};
|
||||
tbi0: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
mdio@25520 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,gianfar-tbi";
|
||||
reg = <0x25520 0x20>;
|
||||
|
||||
tbi1: tbi-phy@11 {
|
||||
reg = <0x11>;
|
||||
device_type = "tbi-phy";
|
||||
};
|
||||
};
|
||||
|
||||
enet0: ethernet@24000 {
|
||||
|
|
@ -244,6 +260,7 @@
|
|||
interrupts = <32 0x8 33 0x8 34 0x8>;
|
||||
phy-connection-type = "mii";
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = <&tbi0>;
|
||||
phy-handle = <&phy2>;
|
||||
};
|
||||
|
||||
|
|
@ -257,6 +274,7 @@
|
|||
interrupts = <35 0x8 36 0x8 37 0x8>;
|
||||
phy-connection-type = "mii";
|
||||
interrupt-parent = <&ipic>;
|
||||
tbi-handle = <&tbi1>;
|
||||
phy-handle = <&phy3>;
|
||||
};
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue