Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 86434
b: refs/heads/master
c: 8d3c202
h: refs/heads/master
v: v3
  • Loading branch information
David S. Miller committed Feb 24, 2008
1 parent 33465a5 commit 33c7c8d
Show file tree
Hide file tree
Showing 111 changed files with 758 additions and 1,115 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 547598d3a91f11b1f802bf0b122f777c3c22f26d
refs/heads/master: 8d3c202be23c5a915f7053ebd4e96f44700c6a62
17 changes: 8 additions & 9 deletions trunk/Documentation/debugging-via-ohci1394.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,14 @@ available (notebooks) or too slow for extensive debug information (like ACPI).
Drivers
-------

The ohci1394 driver in drivers/ieee1394 initializes the OHCI-1394 controllers
to a working state and enables physical DMA by default for all remote nodes.
This can be turned off by ohci1394's module parameter phys_dma=0.

The alternative firewire-ohci driver in drivers/firewire uses filtered physical
DMA, hence is not yet suitable for remote debugging.

Because ohci1394 depends on the PCI enumeration to be completed, an
initialization routine which runs pretty early (long before console_init()
The OHCI-1394 drivers in drivers/firewire and drivers/ieee1394 initialize
the OHCI-1394 controllers to a working state and can be used to enable
physical DMA. By default you only have to load the driver, and physical
DMA access will be granted to all remote nodes, but it can be turned off
when using the ohci1394 driver.

Because these drivers depend on the PCI enumeration to be completed, an
initialization routine which can runs pretty early (long before console_init(),
which makes the printk buffer appear on the console can be called) was written.

To activate it, enable CONFIG_PROVIDE_OHCI1394_DMA_INIT (Kernel hacking menu:
Expand Down
10 changes: 0 additions & 10 deletions trunk/Documentation/feature-removal-schedule.txt
Original file line number Diff line number Diff line change
Expand Up @@ -172,16 +172,6 @@ Who: Len Brown <len.brown@intel.com>

---------------------------

What: ide-tape driver
When: July 2008
Files: drivers/ide/ide-tape.c
Why: This driver might not have any users anymore and maintaining it for no
reason is an effort no one wants to make.
Who: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>, Borislav Petkov
<petkovbb@googlemail.com>

---------------------------

What: libata spindown skipping and warning
When: Dec 2008
Why: Some halt(8) implementations synchronize caches for and spin
Expand Down
3 changes: 1 addition & 2 deletions trunk/Documentation/i2c/busses/i2c-i801
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,8 @@ Supported adapters:
* Intel 82801G (ICH7)
* Intel 631xESB/632xESB (ESB2)
* Intel 82801H (ICH8)
* Intel 82801I (ICH9)
* Intel ICH9
* Intel Tolapai
* Intel ICH10
Datasheets: Publicly available at the Intel website

Authors:
Expand Down
49 changes: 49 additions & 0 deletions trunk/Documentation/ide.txt
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,8 @@ Summary of ide driver parameters for kernel command line
As for VLB, it is safest to not specify it.
Bigger values are safer than smaller ones.

"idex=noprobe" : do not attempt to access/use this interface

"idex=base" : probe for an interface at the addr specified,
where "base" is usually 0x1f0 or 0x170
and "ctl" is assumed to be "base"+0x206
Expand Down Expand Up @@ -305,6 +307,53 @@ Also for legacy CMD640 host driver (cmd640) you need to use "probe_vlb"
kernel paremeter to enable probing for VLB version of the chipset (PCI ones
are detected automatically).

================================================================================

IDE ATAPI streaming tape driver
-------------------------------

This driver is a part of the Linux ide driver and works in co-operation
with linux/drivers/block/ide.c.

The driver, in co-operation with ide.c, basically traverses the
request-list for the block device interface. The character device
interface, on the other hand, creates new requests, adds them
to the request-list of the block device, and waits for their completion.

Pipelined operation mode is now supported on both reads and writes.

The block device major and minor numbers are determined from the
tape's relative position in the ide interfaces, as explained in ide.c.

The character device interface consists of the following devices:

ht0 major 37, minor 0 first IDE tape, rewind on close.
ht1 major 37, minor 1 second IDE tape, rewind on close.
...
nht0 major 37, minor 128 first IDE tape, no rewind on close.
nht1 major 37, minor 129 second IDE tape, no rewind on close.
...

Run /dev/MAKEDEV to create the above entries.

The general magnetic tape commands compatible interface, as defined by
include/linux/mtio.h, is accessible through the character device.

General ide driver configuration options, such as the interrupt-unmask
flag, can be configured by issuing an ioctl to the block device interface,
as any other ide device.

Our own ide-tape ioctl's can be issued to either the block device or
the character device interface.

Maximal throughput with minimal bus load will usually be achieved in the
following scenario:

1. ide-tape is operating in the pipelined operation mode.
2. No buffering is performed by the user backup program.



================================================================================

Some Terminology
Expand Down
2 changes: 0 additions & 2 deletions trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -2744,8 +2744,6 @@ S: Maintained
NETEFFECT IWARP RNIC DRIVER (IW_NES)
P: Faisal Latif
M: flatif@neteffect.com
P: Nishi Gupta
M: ngupta@neteffect.com
P: Glenn Streiff
M: gstreiff@neteffect.com
L: general@lists.openfabrics.org
Expand Down
2 changes: 1 addition & 1 deletion trunk/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 25
EXTRAVERSION = -rc3
EXTRAVERSION = -rc2
NAME = Funky Weasel is Jiggy wit it

# *DOCUMENTATION*
Expand Down
2 changes: 0 additions & 2 deletions trunk/arch/arm/mach-omap1/board-sx1.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@ int sx1_i2c_write_byte(u8 devaddr, u8 regoffset, u8 value)
data[0] = regoffset; /* register num */
data[1] = value; /* register data */
err = i2c_transfer(adap, msg, 1);
i2c_put_adapter(adap);
if (err >= 0)
return 0;
return err;
Expand Down Expand Up @@ -92,7 +91,6 @@ int sx1_i2c_read_byte(u8 devaddr, u8 regoffset, u8 *value)
msg->buf = data;
err = i2c_transfer(adap, msg, 1);
*value = data[0];
i2c_put_adapter(adap);

if (err >= 0)
return 0;
Expand Down
3 changes: 0 additions & 3 deletions trunk/arch/sparc/kernel/led.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@
#include <linux/init.h>
#include <linux/proc_fs.h>
#include <linux/string.h>
#include <linux/jiffies.h>
#include <linux/timer.h>
#include <linux/uaccess.h>

#include <asm/auxio.h>

Expand Down
14 changes: 7 additions & 7 deletions trunk/arch/sparc64/kernel/ds.c
Original file line number Diff line number Diff line change
Expand Up @@ -525,10 +525,10 @@ static void dr_cpu_mark(struct ds_data *resp, int cpu, int ncpus,
}
}

static int __cpuinit dr_cpu_configure(struct ds_info *dp,
struct ds_cap_state *cp,
u64 req_num,
cpumask_t *mask)
static int dr_cpu_configure(struct ds_info *dp,
struct ds_cap_state *cp,
u64 req_num,
cpumask_t *mask)
{
struct ds_data *resp;
int resp_len, ncpus, cpu;
Expand Down Expand Up @@ -623,9 +623,9 @@ static int dr_cpu_unconfigure(struct ds_info *dp,
return 0;
}

static void __cpuinit dr_cpu_data(struct ds_info *dp,
struct ds_cap_state *cp,
void *buf, int len)
static void dr_cpu_data(struct ds_info *dp,
struct ds_cap_state *cp,
void *buf, int len)
{
struct ds_data *data = buf;
struct dr_cpu_tag *tag = (struct dr_cpu_tag *) (data + 1);
Expand Down
4 changes: 1 addition & 3 deletions trunk/arch/sparc64/kernel/hvtramp.S
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@
* Copyright (C) 2007 David S. Miller <davem@davemloft.net>
*/

#include <linux/init.h>

#include <asm/thread_info.h>
#include <asm/hypervisor.h>
#include <asm/scratchpad.h>
Expand All @@ -15,7 +13,7 @@
#include <asm/head.h>
#include <asm/asi.h>

__CPUINIT
.text
.align 8
.globl hv_cpu_startup, hv_cpu_startup_end

Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/sparc64/kernel/iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,7 @@ unsigned long iommu_range_alloc(struct device *dev,
else
boundary_size = ALIGN(1UL << 32, 1 << IO_PAGE_SHIFT);

n = iommu_area_alloc(arena->map, limit, start, npages,
iommu->page_table_map_base >> IO_PAGE_SHIFT,
n = iommu_area_alloc(arena->map, limit, start, npages, 0,
boundary_size >> IO_PAGE_SHIFT, 0);
if (n == -1) {
if (likely(pass < 1)) {
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/sparc64/kernel/kprobes.c
Original file line number Diff line number Diff line change
Expand Up @@ -465,6 +465,8 @@ void __kprobes jprobe_return(void)

extern void jprobe_return_trap_instruction(void);

extern void __show_regs(struct pt_regs * regs);

int __kprobes longjmp_break_handler(struct kprobe *p, struct pt_regs *regs)
{
u32 *addr = (u32 *) regs->tpc;
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/sparc64/kernel/mdesc.c
Original file line number Diff line number Diff line change
Expand Up @@ -758,7 +758,7 @@ static void __devinit get_mondo_data(struct mdesc_handle *hp, u64 mp,
get_one_mondo_bits(val, &tb->nonresum_qmask, 2);
}

void __cpuinit mdesc_fill_in_cpu_data(cpumask_t mask)
void __devinit mdesc_fill_in_cpu_data(cpumask_t mask)
{
struct mdesc_handle *hp = mdesc_grab();
u64 mp;
Expand Down
3 changes: 2 additions & 1 deletion trunk/arch/sparc64/kernel/power.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
#include <asm/of_device.h>
#include <asm/io.h>
#include <asm/sstate.h>
#include <asm/reboot.h>

#include <linux/unistd.h>

Expand All @@ -40,6 +39,8 @@ static irqreturn_t power_handler(int irq, void *dev_id)
return IRQ_HANDLED;
}

extern void machine_halt(void);
extern void machine_alt_power_off(void);
static void (*poweroff_method)(void) = machine_alt_power_off;

void machine_power_off(void)
Expand Down
77 changes: 74 additions & 3 deletions trunk/arch/sparc64/kernel/process.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
#include <linux/tick.h>
#include <linux/init.h>
#include <linux/cpu.h>
#include <linux/elfcore.h>

#include <asm/oplib.h>
#include <asm/uaccess.h>
Expand All @@ -48,8 +47,6 @@
#include <asm/unistd.h>
#include <asm/hypervisor.h>
#include <asm/sstate.h>
#include <asm/reboot.h>
#include <asm/syscalls.h>

/* #define VERBOSE_SHOWREGS */

Expand Down Expand Up @@ -214,6 +211,62 @@ static void show_regwindow(struct pt_regs *regs)
print_symbol("I7: <%s>\n", rwk->ins[7]);
}

void show_stackframe(struct sparc_stackf *sf)
{
unsigned long size;
unsigned long *stk;
int i;

printk("l0: %016lx l1: %016lx l2: %016lx l3: %016lx\n"
"l4: %016lx l5: %016lx l6: %016lx l7: %016lx\n",
sf->locals[0], sf->locals[1], sf->locals[2], sf->locals[3],
sf->locals[4], sf->locals[5], sf->locals[6], sf->locals[7]);
printk("i0: %016lx i1: %016lx i2: %016lx i3: %016lx\n"
"i4: %016lx i5: %016lx fp: %016lx ret_pc: %016lx\n",
sf->ins[0], sf->ins[1], sf->ins[2], sf->ins[3],
sf->ins[4], sf->ins[5], (unsigned long)sf->fp, sf->callers_pc);
printk("sp: %016lx x0: %016lx x1: %016lx x2: %016lx\n"
"x3: %016lx x4: %016lx x5: %016lx xx: %016lx\n",
(unsigned long)sf->structptr, sf->xargs[0], sf->xargs[1],
sf->xargs[2], sf->xargs[3], sf->xargs[4], sf->xargs[5],
sf->xxargs[0]);
size = ((unsigned long)sf->fp) - ((unsigned long)sf);
size -= STACKFRAME_SZ;
stk = (unsigned long *)((unsigned long)sf + STACKFRAME_SZ);
i = 0;
do {
printk("s%d: %016lx\n", i++, *stk++);
} while ((size -= sizeof(unsigned long)));
}

void show_stackframe32(struct sparc_stackf32 *sf)
{
unsigned long size;
unsigned *stk;
int i;

printk("l0: %08x l1: %08x l2: %08x l3: %08x\n",
sf->locals[0], sf->locals[1], sf->locals[2], sf->locals[3]);
printk("l4: %08x l5: %08x l6: %08x l7: %08x\n",
sf->locals[4], sf->locals[5], sf->locals[6], sf->locals[7]);
printk("i0: %08x i1: %08x i2: %08x i3: %08x\n",
sf->ins[0], sf->ins[1], sf->ins[2], sf->ins[3]);
printk("i4: %08x i5: %08x fp: %08x ret_pc: %08x\n",
sf->ins[4], sf->ins[5], sf->fp, sf->callers_pc);
printk("sp: %08x x0: %08x x1: %08x x2: %08x\n"
"x3: %08x x4: %08x x5: %08x xx: %08x\n",
sf->structptr, sf->xargs[0], sf->xargs[1],
sf->xargs[2], sf->xargs[3], sf->xargs[4], sf->xargs[5],
sf->xxargs[0]);
size = ((unsigned long)sf->fp) - ((unsigned long)sf);
size -= STACKFRAME32_SZ;
stk = (unsigned *)((unsigned long)sf + STACKFRAME32_SZ);
i = 0;
do {
printk("s%d: %08x\n", i++, *stk++);
} while ((size -= sizeof(unsigned)));
}

#ifdef CONFIG_SMP
static DEFINE_SPINLOCK(regdump_lock);
#endif
Expand Down Expand Up @@ -301,6 +354,24 @@ void show_regs(struct pt_regs *regs)
#endif
}

void show_regs32(struct pt_regs32 *regs)
{
printk("PSR: %08x PC: %08x NPC: %08x Y: %08x %s\n", regs->psr,
regs->pc, regs->npc, regs->y, print_tainted());
printk("g0: %08x g1: %08x g2: %08x g3: %08x ",
regs->u_regs[0], regs->u_regs[1], regs->u_regs[2],
regs->u_regs[3]);
printk("g4: %08x g5: %08x g6: %08x g7: %08x\n",
regs->u_regs[4], regs->u_regs[5], regs->u_regs[6],
regs->u_regs[7]);
printk("o0: %08x o1: %08x o2: %08x o3: %08x ",
regs->u_regs[8], regs->u_regs[9], regs->u_regs[10],
regs->u_regs[11]);
printk("o4: %08x o5: %08x sp: %08x ret_pc: %08x\n",
regs->u_regs[12], regs->u_regs[13], regs->u_regs[14],
regs->u_regs[15]);
}

unsigned long thread_saved_pc(struct task_struct *tsk)
{
struct thread_info *ti = task_thread_info(tsk);
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/sparc64/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ extern void setup_sparc64_timer(void);

static volatile unsigned long callin_flag = 0;

void __cpuinit smp_callin(void)
void __devinit smp_callin(void)
{
int cpuid = hard_smp_processor_id();

Expand Down
4 changes: 1 addition & 3 deletions trunk/arch/sparc64/kernel/trampoline.S
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
*/

#include <linux/init.h>

#include <asm/head.h>
#include <asm/asi.h>
#include <asm/lsu.h>
Expand Down Expand Up @@ -38,7 +36,7 @@ dtlb_load:
tramp_stack:
.skip TRAMP_STACK_SIZE

__CPUINIT
.text
.align 8
.globl sparc64_cpu_startup, sparc64_cpu_startup_end
sparc64_cpu_startup:
Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/sparc64/kernel/traps.c
Original file line number Diff line number Diff line change
Expand Up @@ -1791,6 +1791,8 @@ static const char *sun4v_err_type_to_str(u32 type)
};
}

extern void __show_regs(struct pt_regs * regs);

static void sun4v_log_error(struct pt_regs *regs, struct sun4v_error_entry *ent, int cpu, const char *pfx, atomic_t *ocnt)
{
int cnt;
Expand Down
Loading

0 comments on commit 33c7c8d

Please sign in to comment.