Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 178648
b: refs/heads/master
c: 08d869a
h: refs/heads/master
v: v3
  • Loading branch information
Linus Torvalds committed Dec 31, 2009
1 parent 706cbbf commit 9f6a5de
Show file tree
Hide file tree
Showing 184 changed files with 1,876 additions and 1,556 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: 1201b2a9bec0413188ada1443ece1a52da6dbff4
refs/heads/master: 08d869aa8683703c4a60fdc574dd0809f9b073cd
2 changes: 0 additions & 2 deletions trunk/Documentation/block/00-INDEX
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
00-INDEX
- This file
as-iosched.txt
- Anticipatory IO scheduler
barrier.txt
- I/O Barriers
biodoc.txt
Expand Down
172 changes: 0 additions & 172 deletions trunk/Documentation/block/as-iosched.txt

This file was deleted.

2 changes: 1 addition & 1 deletion trunk/Documentation/filesystems/ext4.txt
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ nobarrier This also requires an IO stack which can support
also be used to enable or disable barriers, for
consistency with other ext4 mount options.

inode_readahead=n This tuning parameter controls the maximum
inode_readahead_blks=n This tuning parameter controls the maximum
number of inode table blocks that ext4's inode
table readahead algorithm will pre-read into
the buffer cache. The default value is 32 blocks.
Expand Down
10 changes: 9 additions & 1 deletion trunk/Documentation/kvm/api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -685,7 +685,7 @@ struct kvm_vcpu_events {
__u8 pad;
} nmi;
__u32 sipi_vector;
__u32 flags; /* must be zero */
__u32 flags;
};

4.30 KVM_SET_VCPU_EVENTS
Expand All @@ -701,6 +701,14 @@ vcpu.

See KVM_GET_VCPU_EVENTS for the data structure.

Fields that may be modified asynchronously by running VCPUs can be excluded
from the update. These fields are nmi.pending and sipi_vector. Keep the
corresponding bits in the flags field cleared to suppress overwriting the
current in-kernel state. The bits are:

KVM_VCPUEVENT_VALID_NMI_PENDING - transfer nmi.pending to the kernel
KVM_VCPUEVENT_VALID_SIPI_VECTOR - transfer sipi_vector


5. The kvm_run structure

Expand Down
2 changes: 1 addition & 1 deletion trunk/Documentation/sound/alsa/Procfile.txt
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ card*/pcm*/xrun_debug
It takes an integer value, can be changed by writing to this
file, such as

# cat 5 > /proc/asound/card0/pcm0p/xrun_debug
# echo 5 > /proc/asound/card0/pcm0p/xrun_debug

The value consists of the following bit flags:
bit 0 = Enable XRUN/jiffies debug messages
Expand Down
2 changes: 1 addition & 1 deletion trunk/Documentation/vgaarbiter.txt
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ I.2 libpciaccess
----------------

To use the vga arbiter char device it was implemented an API inside the
libpciaccess library. One fieldd was added to struct pci_device (each device
libpciaccess library. One field was added to struct pci_device (each device
on the system):

/* the type of resource decoded by the device */
Expand Down
9 changes: 6 additions & 3 deletions trunk/arch/ia64/kvm/vcpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -388,6 +388,9 @@ static inline u64 __gpfn_is_io(u64 gpfn)
#define _vmm_raw_spin_lock(x) do {}while(0)
#define _vmm_raw_spin_unlock(x) do {}while(0)
#else
typedef struct {
volatile unsigned int lock;
} vmm_spinlock_t;
#define _vmm_raw_spin_lock(x) \
do { \
__u32 *ia64_spinlock_ptr = (__u32 *) (x); \
Expand All @@ -405,12 +408,12 @@ static inline u64 __gpfn_is_io(u64 gpfn)

#define _vmm_raw_spin_unlock(x) \
do { barrier(); \
((spinlock_t *)x)->raw_lock.lock = 0; } \
((vmm_spinlock_t *)x)->lock = 0; } \
while (0)
#endif

void vmm_spin_lock(spinlock_t *lock);
void vmm_spin_unlock(spinlock_t *lock);
void vmm_spin_lock(vmm_spinlock_t *lock);
void vmm_spin_unlock(vmm_spinlock_t *lock);
enum {
I_TLB = 1,
D_TLB = 2
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/ia64/kvm/vmm.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,12 @@ static void __exit kvm_vmm_exit(void)
return ;
}

void vmm_spin_lock(spinlock_t *lock)
void vmm_spin_lock(vmm_spinlock_t *lock)
{
_vmm_raw_spin_lock(lock);
}

void vmm_spin_unlock(spinlock_t *lock)
void vmm_spin_unlock(vmm_spinlock_t *lock)
{
_vmm_raw_spin_unlock(lock);
}
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/ia64/kvm/vtlb.c
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ void mark_pages_dirty(struct kvm_vcpu *v, u64 pte, u64 ps)
{
u64 i, dirty_pages = 1;
u64 base_gfn = (pte&_PAGE_PPN_MASK) >> PAGE_SHIFT;
spinlock_t *lock = __kvm_va(v->arch.dirty_log_lock_pa);
vmm_spinlock_t *lock = __kvm_va(v->arch.dirty_log_lock_pa);
void *dirty_bitmap = (void *)KVM_MEM_DIRTY_LOG_BASE;

dirty_pages <<= ps <= PAGE_SHIFT ? 0 : ps - PAGE_SHIFT;
Expand Down
13 changes: 13 additions & 0 deletions trunk/arch/powerpc/kernel/pci-common.c
Original file line number Diff line number Diff line change
Expand Up @@ -1107,6 +1107,12 @@ void __devinit pcibios_setup_bus_devices(struct pci_bus *bus)
list_for_each_entry(dev, &bus->devices, bus_list) {
struct dev_archdata *sd = &dev->dev.archdata;

/* Cardbus can call us to add new devices to a bus, so ignore
* those who are already fully discovered
*/
if (dev->is_added)
continue;

/* Setup OF node pointer in archdata */
sd->of_node = pci_device_to_OF_node(dev);

Expand Down Expand Up @@ -1147,6 +1153,13 @@ void __devinit pcibios_fixup_bus(struct pci_bus *bus)
}
EXPORT_SYMBOL(pcibios_fixup_bus);

void __devinit pci_fixup_cardbus(struct pci_bus *bus)
{
/* Now fixup devices on that bus */
pcibios_setup_bus_devices(bus);
}


static int skip_isa_ioresource_align(struct pci_dev *dev)
{
if ((ppc_pci_flags & PPC_PCI_CAN_SKIP_ISA_ALIGN) &&
Expand Down
22 changes: 21 additions & 1 deletion trunk/arch/powerpc/kvm/book3s_64_mmu.c
Original file line number Diff line number Diff line change
Expand Up @@ -390,6 +390,26 @@ static void kvmppc_mmu_book3s_64_mtsrin(struct kvm_vcpu *vcpu, u32 srnum,
{
u64 rb = 0, rs = 0;

/*
* According to Book3 2.01 mtsrin is implemented as:
*
* The SLB entry specified by (RB)32:35 is loaded from register
* RS, as follows.
*
* SLBE Bit Source SLB Field
*
* 0:31 0x0000_0000 ESID-0:31
* 32:35 (RB)32:35 ESID-32:35
* 36 0b1 V
* 37:61 0x00_0000|| 0b0 VSID-0:24
* 62:88 (RS)37:63 VSID-25:51
* 89:91 (RS)33:35 Ks Kp N
* 92 (RS)36 L ((RS)36 must be 0b0)
* 93 0b0 C
*/

dprintk("KVM MMU: mtsrin(0x%x, 0x%lx)\n", srnum, value);

/* ESID = srnum */
rb |= (srnum & 0xf) << 28;
/* Set the valid bit */
Expand All @@ -400,7 +420,7 @@ static void kvmppc_mmu_book3s_64_mtsrin(struct kvm_vcpu *vcpu, u32 srnum,
/* VSID = VSID */
rs |= (value & 0xfffffff) << 12;
/* flags = flags */
rs |= ((value >> 27) & 0xf) << 9;
rs |= ((value >> 28) & 0x7) << 9;

kvmppc_mmu_book3s_64_slbmte(vcpu, rs, rb);
}
Expand Down
4 changes: 4 additions & 0 deletions trunk/arch/x86/include/asm/kvm.h
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,10 @@ struct kvm_reinject_control {
__u8 reserved[31];
};

/* When set in flags, include corresponding fields on KVM_SET_VCPU_EVENTS */
#define KVM_VCPUEVENT_VALID_NMI_PENDING 0x00000001
#define KVM_VCPUEVENT_VALID_SIPI_VECTOR 0x00000002

/* for KVM_GET/SET_VCPU_EVENTS */
struct kvm_vcpu_events {
struct {
Expand Down
20 changes: 19 additions & 1 deletion trunk/arch/x86/include/asm/uv/uv_hub.h
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,18 @@ static inline unsigned long uv_global_gru_mmr_address(int pnode, unsigned long o
return UV_GLOBAL_GRU_MMR_BASE | offset | (pnode << uv_hub_info->m_val);
}

static inline void uv_write_global_mmr8(int pnode, unsigned long offset,
unsigned char val)
{
writeb(val, uv_global_mmr64_address(pnode, offset));
}

static inline unsigned char uv_read_global_mmr8(int pnode,
unsigned long offset)
{
return readb(uv_global_mmr64_address(pnode, offset));
}

/*
* Access hub local MMRs. Faster than using global space but only local MMRs
* are accessible.
Expand Down Expand Up @@ -457,11 +469,17 @@ static inline void uv_set_scir_bits(unsigned char value)
}
}

static inline unsigned long uv_scir_offset(int apicid)
{
return SCIR_LOCAL_MMR_BASE | (apicid & 0x3f);
}

static inline void uv_set_cpu_scir_bits(int cpu, unsigned char value)
{
if (uv_cpu_hub_info(cpu)->scir.state != value) {
uv_write_global_mmr8(uv_cpu_to_pnode(cpu),
uv_cpu_hub_info(cpu)->scir.offset, value);
uv_cpu_hub_info(cpu)->scir.state = value;
uv_write_local_mmr8(uv_cpu_hub_info(cpu)->scir.offset, value);
}
}

Expand Down
Loading

0 comments on commit 9f6a5de

Please sign in to comment.