Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 9428
b: refs/heads/master
c: f16af55
h: refs/heads/master
v: v3
  • Loading branch information
David S. Miller committed Sep 28, 2005
1 parent 2e9b119 commit d1e15a2
Show file tree
Hide file tree
Showing 125 changed files with 1,441 additions and 1,404 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: 82810a906f8734ae6503ea11436a7164d2f86f2e
refs/heads/master: f16af555cc46a724507da371fbac94b430c93315
10 changes: 0 additions & 10 deletions trunk/Documentation/Changes
Original file line number Diff line number Diff line change
Expand Up @@ -237,12 +237,6 @@ udev
udev is a userspace application for populating /dev dynamically with
only entries for devices actually present. udev replaces devfs.

FUSE
----

Needs libfuse 2.4.0 or later. Absolute minimum is 2.3.0 but mount
options 'direct_io' and 'kernel_cache' won't work.

Networking
==========

Expand Down Expand Up @@ -396,10 +390,6 @@ udev
----
o <http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html>

FUSE
----
o <http://sourceforge.net/projects/fuse>

Networking
**********

Expand Down
74 changes: 19 additions & 55 deletions trunk/Documentation/keys.txt
Original file line number Diff line number Diff line change
Expand Up @@ -195,8 +195,8 @@ KEY ACCESS PERMISSIONS
======================

Keys have an owner user ID, a group access ID, and a permissions mask. The mask
has up to eight bits each for possessor, user, group and other access. Only
five of each set of eight bits are defined. These permissions granted are:
has up to eight bits each for user, group and other access. Only five of each
set of eight bits are defined. These permissions granted are:

(*) View

Expand Down Expand Up @@ -241,16 +241,16 @@ about the status of the key service:
type, description and permissions. The payload of the key is not available
this way:

SERIAL FLAGS USAGE EXPY PERM UID GID TYPE DESCRIPTION: SUMMARY
00000001 I----- 39 perm 1f1f0000 0 0 keyring _uid_ses.0: 1/4
00000002 I----- 2 perm 1f1f0000 0 0 keyring _uid.0: empty
00000007 I----- 1 perm 1f1f0000 0 0 keyring _pid.1: empty
0000018d I----- 1 perm 1f1f0000 0 0 keyring _pid.412: empty
000004d2 I--Q-- 1 perm 1f1f0000 32 -1 keyring _uid.32: 1/4
000004d3 I--Q-- 3 perm 1f1f0000 32 -1 keyring _uid_ses.32: empty
00000892 I--QU- 1 perm 1f000000 0 0 user metal:copper: 0
00000893 I--Q-N 1 35s 1f1f0000 0 0 user metal:silver: 0
00000894 I--Q-- 1 10h 001f0000 0 0 user metal:gold: 0
SERIAL FLAGS USAGE EXPY PERM UID GID TYPE DESCRIPTION: SUMMARY
00000001 I----- 39 perm 1f0000 0 0 keyring _uid_ses.0: 1/4
00000002 I----- 2 perm 1f0000 0 0 keyring _uid.0: empty
00000007 I----- 1 perm 1f0000 0 0 keyring _pid.1: empty
0000018d I----- 1 perm 1f0000 0 0 keyring _pid.412: empty
000004d2 I--Q-- 1 perm 1f0000 32 -1 keyring _uid.32: 1/4
000004d3 I--Q-- 3 perm 1f0000 32 -1 keyring _uid_ses.32: empty
00000892 I--QU- 1 perm 1f0000 0 0 user metal:copper: 0
00000893 I--Q-N 1 35s 1f0000 0 0 user metal:silver: 0
00000894 I--Q-- 1 10h 1f0000 0 0 user metal:gold: 0

The flags are:

Expand Down Expand Up @@ -637,34 +637,6 @@ call, and the key released upon close. How to deal with conflicting keys due to
two different users opening the same file is left to the filesystem author to
solve.

Note that there are two different types of pointers to keys that may be
encountered:

(*) struct key *

This simply points to the key structure itself. Key structures will be at
least four-byte aligned.

(*) key_ref_t

This is equivalent to a struct key *, but the least significant bit is set
if the caller "possesses" the key. By "possession" it is meant that the
calling processes has a searchable link to the key from one of its
keyrings. There are three functions for dealing with these:

key_ref_t make_key_ref(const struct key *key,
unsigned long possession);

struct key *key_ref_to_ptr(const key_ref_t key_ref);

unsigned long is_key_possessed(const key_ref_t key_ref);

The first function constructs a key reference from a key pointer and
possession information (which must be 0 or 1 and not any other value).

The second function retrieves the key pointer from a reference and the
third retrieves the possession flag.

When accessing a key's payload contents, certain precautions must be taken to
prevent access vs modification races. See the section "Notes on accessing
payload contents" for more information.
Expand Down Expand Up @@ -693,11 +665,7 @@ payload contents" for more information.

void key_put(struct key *key);

Or:

void key_ref_put(key_ref_t key_ref);

These can be called from interrupt context. If CONFIG_KEYS is not set then
This can be called from interrupt context. If CONFIG_KEYS is not set then
the argument will not be parsed.


Expand All @@ -721,17 +689,13 @@ payload contents" for more information.

(*) If a keyring was found in the search, this can be further searched by:

key_ref_t keyring_search(key_ref_t keyring_ref,
const struct key_type *type,
const char *description)
struct key *keyring_search(struct key *keyring,
const struct key_type *type,
const char *description)

This searches the keyring tree specified for a matching key. Error ENOKEY
is returned upon failure (use IS_ERR/PTR_ERR to determine). If successful,
the returned key will need to be released.

The possession attribute from the keyring reference is used to control
access through the permissions mask and is propagated to the returned key
reference pointer if successful.
is returned upon failure. If successful, the returned key will need to be
released.


(*) To check the validity of a key, this function can be called:
Expand Down Expand Up @@ -768,7 +732,7 @@ More complex payload contents must be allocated and a pointer to them set in
key->payload.data. One of the following ways must be selected to access the
data:

(1) Unmodifiable key type.
(1) Unmodifyable key type.

If the key type does not have a modify method, then the key's payload can
be accessed without any form of locking, provided that it's known to be
Expand Down
16 changes: 0 additions & 16 deletions trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -604,15 +604,6 @@ P: H. Peter Anvin
M: hpa@zytor.com
S: Maintained

CPUSETS
P: Paul Jackson
P: Simon Derr
M: pj@sgi.com
M: simon.derr@bull.net
L: linux-kernel@vger.kernel.org
W: http://www.bullopensource.org/cpuset/
S: Supported

CRAMFS FILESYSTEM
W: http://sourceforge.net/projects/cramfs/
S: Orphan
Expand Down Expand Up @@ -1915,13 +1906,6 @@ M: joern@wh.fh-wedel.de
L: linux-mtd@lists.infradead.org
S: Maintained

PKTCDVD DRIVER
P: Peter Osterlund
M: petero2@telia.com
L: linux-kernel@vger.kernel.org
L: packet-writing@suse.com
S: Maintained

POSIX CLOCKS and TIMERS
P: George Anzinger
M: george@mvista.com
Expand Down
43 changes: 21 additions & 22 deletions trunk/arch/arm/mach-versatile/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,8 @@
*
* Setup a VA for the Versatile Vectored Interrupt Controller.
*/
#define __io_address(n) __io(IO_ADDRESS(n))
#define VA_VIC_BASE __io_address(VERSATILE_VIC_BASE)
#define VA_SIC_BASE __io_address(VERSATILE_SIC_BASE)
#define VA_VIC_BASE IO_ADDRESS(VERSATILE_VIC_BASE)
#define VA_SIC_BASE IO_ADDRESS(VERSATILE_SIC_BASE)

static void vic_mask_irq(unsigned int irq)
{
Expand Down Expand Up @@ -215,7 +214,7 @@ void __init versatile_map_io(void)
iotable_init(versatile_io_desc, ARRAY_SIZE(versatile_io_desc));
}

#define VERSATILE_REFCOUNTER (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_24MHz_OFFSET)
#define VERSATILE_REFCOUNTER (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_24MHz_OFFSET)

/*
* This is the Versatile sched_clock implementation. This has
Expand All @@ -232,7 +231,7 @@ unsigned long long sched_clock(void)
}


#define VERSATILE_FLASHCTRL (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_FLASH_OFFSET)
#define VERSATILE_FLASHCTRL (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_FLASH_OFFSET)

static int versatile_flash_init(void)
{
Expand Down Expand Up @@ -310,7 +309,7 @@ static struct platform_device smc91x_device = {
.resource = smc91x_resources,
};

#define VERSATILE_SYSMCI (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_MCI_OFFSET)
#define VERSATILE_SYSMCI (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_MCI_OFFSET)

unsigned int mmc_status(struct device *dev)
{
Expand Down Expand Up @@ -344,11 +343,11 @@ static const struct icst307_params versatile_oscvco_params = {

static void versatile_oscvco_set(struct clk *clk, struct icst307_vco vco)
{
void __iomem *sys_lock = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_LOCK_OFFSET;
unsigned long sys_lock = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_LOCK_OFFSET;
#if defined(CONFIG_ARCH_VERSATILE_PB)
void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC4_OFFSET;
unsigned long sys_osc = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC4_OFFSET;
#elif defined(CONFIG_MACH_VERSATILE_AB)
void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC1_OFFSET;
unsigned long sys_osc = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC1_OFFSET;
#endif
u32 val;

Expand Down Expand Up @@ -484,7 +483,7 @@ static struct clcd_panel epson_2_2_in = {
*/
static struct clcd_panel *versatile_clcd_panel(void)
{
void __iomem *sys_clcd = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
struct clcd_panel *panel = &vga;
u32 val;

Expand All @@ -511,7 +510,7 @@ static struct clcd_panel *versatile_clcd_panel(void)
*/
static void versatile_clcd_disable(struct clcd_fb *fb)
{
void __iomem *sys_clcd = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
u32 val;

val = readl(sys_clcd);
Expand All @@ -523,7 +522,7 @@ static void versatile_clcd_disable(struct clcd_fb *fb)
* If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light off
*/
if (fb->panel == &sanyo_2_5_in) {
void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL);
unsigned long versatile_ib2_ctrl = IO_ADDRESS(VERSATILE_IB2_CTRL);
unsigned long ctrl;

ctrl = readl(versatile_ib2_ctrl);
Expand All @@ -538,7 +537,7 @@ static void versatile_clcd_disable(struct clcd_fb *fb)
*/
static void versatile_clcd_enable(struct clcd_fb *fb)
{
void __iomem *sys_clcd = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
u32 val;

val = readl(sys_clcd);
Expand Down Expand Up @@ -572,7 +571,7 @@ static void versatile_clcd_enable(struct clcd_fb *fb)
* If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light on
*/
if (fb->panel == &sanyo_2_5_in) {
void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL);
unsigned long versatile_ib2_ctrl = IO_ADDRESS(VERSATILE_IB2_CTRL);
unsigned long ctrl;

ctrl = readl(versatile_ib2_ctrl);
Expand Down Expand Up @@ -721,7 +720,7 @@ static struct amba_device *amba_devs[] __initdata = {
};

#ifdef CONFIG_LEDS
#define VA_LEDS_BASE (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_LED_OFFSET)
#define VA_LEDS_BASE (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_LED_OFFSET)

static void versatile_leds_event(led_event_t ledevt)
{
Expand Down Expand Up @@ -779,11 +778,11 @@ void __init versatile_init(void)
/*
* Where is the timer (VA)?
*/
#define TIMER0_VA_BASE __io_address(VERSATILE_TIMER0_1_BASE)
#define TIMER1_VA_BASE (__io_address(VERSATILE_TIMER0_1_BASE) + 0x20)
#define TIMER2_VA_BASE __io_address(VERSATILE_TIMER2_3_BASE)
#define TIMER3_VA_BASE (__io_address(VERSATILE_TIMER2_3_BASE) + 0x20)
#define VA_IC_BASE __io_address(VERSATILE_VIC_BASE)
#define TIMER0_VA_BASE IO_ADDRESS(VERSATILE_TIMER0_1_BASE)
#define TIMER1_VA_BASE (IO_ADDRESS(VERSATILE_TIMER0_1_BASE) + 0x20)
#define TIMER2_VA_BASE IO_ADDRESS(VERSATILE_TIMER2_3_BASE)
#define TIMER3_VA_BASE (IO_ADDRESS(VERSATILE_TIMER2_3_BASE) + 0x20)
#define VA_IC_BASE IO_ADDRESS(VERSATILE_VIC_BASE)

/*
* How long is the timer interval?
Expand Down Expand Up @@ -878,12 +877,12 @@ static void __init versatile_timer_init(void)
* VERSATILE_REFCLK is 32KHz
* VERSATILE_TIMCLK is 1MHz
*/
val = readl(__io_address(VERSATILE_SCTL_BASE));
val = readl(IO_ADDRESS(VERSATILE_SCTL_BASE));
writel((VERSATILE_TIMCLK << VERSATILE_TIMER1_EnSel) |
(VERSATILE_TIMCLK << VERSATILE_TIMER2_EnSel) |
(VERSATILE_TIMCLK << VERSATILE_TIMER3_EnSel) |
(VERSATILE_TIMCLK << VERSATILE_TIMER4_EnSel) | val,
__io_address(VERSATILE_SCTL_BASE));
IO_ADDRESS(VERSATILE_SCTL_BASE));

/*
* Initialise to a known state (all timers off)
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/ppc/boot/ld.script
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
OUTPUT_ARCH(powerpc:common)
OUTPUT_ARCH(powerpc)
SECTIONS
{
/* Read-only sections, merged into text segment: */
Expand Down
3 changes: 2 additions & 1 deletion trunk/arch/ppc/kernel/perfmon.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,9 @@ static void dummy_perf(struct pt_regs *regs)
mtpmr(PMRN_PMGC0, pmgc0);
}

#elif defined(CONFIG_6xx)
#elif CONFIG_6xx
/* Ensure exceptions are disabled */

static void dummy_perf(struct pt_regs *regs)
{
unsigned int mmcr0 = mfspr(SPRN_MMCR0);
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/ppc/syslib/mv64x60.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ u8 mv64x60_pci_exclude_bridge = 1;
DEFINE_SPINLOCK(mv64x60_lock);

static phys_addr_t mv64x60_bridge_pbase;
static void __iomem *mv64x60_bridge_vbase;
static void *mv64x60_bridge_vbase;
static u32 mv64x60_bridge_type = MV64x60_TYPE_INVALID;
static u32 mv64x60_bridge_rev;
#if defined(CONFIG_SYSFS) && !defined(CONFIG_GT64260)
Expand Down Expand Up @@ -938,7 +938,7 @@ mv64x60_setup_for_chip(struct mv64x60_handle *bh)
*
* Return the virtual address of the bridge's registers.
*/
void __iomem *
void *
mv64x60_get_bridge_vbase(void)
{
return mv64x60_bridge_vbase;
Expand Down
1 change: 0 additions & 1 deletion trunk/arch/ppc64/kernel/machine_kexec.c
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,6 @@ static void kexec_prepare_cpus(void)
continue;

while (paca[i].hw_cpu_id != -1) {
barrier();
if (!cpu_possible(i)) {
printk("kexec: cpu %d hw_cpu_id %d is not"
" possible, ignoring\n",
Expand Down
5 changes: 3 additions & 2 deletions trunk/arch/ppc64/mm/hash_native.c
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ static void native_flush_hash_range(unsigned long context,
hpte_t *hptep;
unsigned long hpte_v;
struct ppc64_tlb_batch *batch = &__get_cpu_var(ppc64_tlb_batch);
unsigned long large = batch->large;
unsigned long large;

local_irq_save(flags);

Expand All @@ -356,6 +356,7 @@ static void native_flush_hash_range(unsigned long context,

va = (vsid << 28) | (batch->addr[i] & 0x0fffffff);
batch->vaddr[j] = va;
large = pte_huge(batch->pte[i]);
if (large)
vpn = va >> HPAGE_SHIFT;
else
Expand Down Expand Up @@ -405,7 +406,7 @@ static void native_flush_hash_range(unsigned long context,
asm volatile("ptesync":::"memory");

for (i = 0; i < j; i++)
__tlbie(batch->vaddr[i], large);
__tlbie(batch->vaddr[i], 0);

asm volatile("eieio; tlbsync; ptesync":::"memory");

Expand Down
Loading

0 comments on commit d1e15a2

Please sign in to comment.