Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 119222
b: refs/heads/master
c: 1df8fb3
h: refs/heads/master
v: v3
  • Loading branch information
Sheng Yang authored and Jesse Barnes committed Nov 19, 2008
1 parent 7874843 commit bf0f4e7
Show file tree
Hide file tree
Showing 58 changed files with 292 additions and 332 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: 3108864e2d70891d30d60af6af256a1b517d7078
refs/heads/master: 1df8fb3d5f078f9cab901b6106ef2c9b74eef7df
11 changes: 3 additions & 8 deletions trunk/Documentation/kernel-parameters.txt
Original file line number Diff line number Diff line change
Expand Up @@ -294,9 +294,7 @@ and is between 256 and 4096 characters. It is defined in the file
Possible values are:
isolate - enable device isolation (each device, as far
as possible, will get its own protection
domain) [default]
share - put every device behind one IOMMU into the
same protection domain
domain)
fullflush - enable flushing of IO/TLB entries when
they are unmapped. Otherwise they are
flushed before they will be reused, which
Expand Down Expand Up @@ -1195,8 +1193,8 @@ and is between 256 and 4096 characters. It is defined in the file
it is equivalent to "nosmp", which also disables
the IO APIC.

max_addr=nn[KMG] [KNL,BOOT,ia64] All physical memory greater than
or equal to this physical address is ignored.
max_addr=[KMG] [KNL,BOOT,ia64] All physical memory greater than or
equal to this physical address is ignored.

max_luns= [SCSI] Maximum number of LUNs to probe.
Should be between 1 and 2^32-1.
Expand Down Expand Up @@ -1296,9 +1294,6 @@ and is between 256 and 4096 characters. It is defined in the file

mga= [HW,DRM]

min_addr=nn[KMG] [KNL,BOOT,ia64] All physical memory below this
physical address is ignored.

mminit_loglevel=
[KNL] When CONFIG_DEBUG_MEMORY_INIT is set, this
parameter allows control of the logging verbosity for
Expand Down
2 changes: 1 addition & 1 deletion trunk/MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1809,7 +1809,7 @@ S: Maintained

FTRACE
P: Steven Rostedt
M: rostedt@goodmis.org
M: srostedt@redhat.com
S: Maintained

FUJITSU FR-V (FRV) PORT
Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/sparc/include/asm/unistd_32.h
Original file line number Diff line number Diff line change
Expand Up @@ -338,9 +338,8 @@
#define __NR_dup3 320
#define __NR_pipe2 321
#define __NR_inotify_init1 322
#define __NR_accept4 323

#define NR_SYSCALLS 324
#define NR_SYSCALLS 323

/* Sparc 32-bit only has the "setresuid32", "getresuid32" variants,
* it never had the plain ones and there is no value to adding those
Expand Down
3 changes: 1 addition & 2 deletions trunk/arch/sparc/include/asm/unistd_64.h
Original file line number Diff line number Diff line change
Expand Up @@ -340,9 +340,8 @@
#define __NR_dup3 320
#define __NR_pipe2 321
#define __NR_inotify_init1 322
#define __NR_accept4 323

#define NR_SYSCALLS 324
#define NR_SYSCALLS 323

#ifdef __KERNEL__
#define __ARCH_WANT_IPC_PARSE_VERSION
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/sparc/kernel/systbls.S
Original file line number Diff line number Diff line change
Expand Up @@ -81,4 +81,4 @@ sys_call_table:
/*305*/ .long sys_set_mempolicy, sys_kexec_load, sys_move_pages, sys_getcpu, sys_epoll_pwait
/*310*/ .long sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate
/*315*/ .long sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1
/*320*/ .long sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4
/*320*/ .long sys_dup3, sys_pipe2, sys_inotify_init1
13 changes: 1 addition & 12 deletions trunk/arch/sparc64/kernel/sys32.S
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ sys32_mmap2:
sys32_socketcall: /* %o0=call, %o1=args */
cmp %o0, 1
bl,pn %xcc, do_einval
cmp %o0, 18
cmp %o0, 17
bg,pn %xcc, do_einval
sub %o0, 1, %o0
sllx %o0, 5, %o0
Expand Down Expand Up @@ -319,15 +319,6 @@ do_sys_recvmsg: /* compat_sys_recvmsg(int, struct compat_msghdr *, unsigned int)
nop
nop
nop
do_sys_accept4: /* sys_accept4(int, struct sockaddr *, int *, int) */
63: ldswa [%o1 + 0x0] %asi, %o0
sethi %hi(sys_accept4), %g1
64: lduwa [%o1 + 0x8] %asi, %o2
65: ldswa [%o1 + 0xc] %asi, %o3
jmpl %g1 + %lo(sys_accept4), %g0
66: lduwa [%o1 + 0x4] %asi, %o1
nop
nop

.section __ex_table,"a"
.align 4
Expand Down Expand Up @@ -362,6 +353,4 @@ do_sys_accept4: /* sys_accept4(int, struct sockaddr *, int *, int) */
.word 57b, __retl_efault, 58b, __retl_efault
.word 59b, __retl_efault, 60b, __retl_efault
.word 61b, __retl_efault, 62b, __retl_efault
.word 63b, __retl_efault, 64b, __retl_efault
.word 65b, __retl_efault, 66b, __retl_efault
.previous
4 changes: 2 additions & 2 deletions trunk/arch/sparc64/kernel/systbls.S
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ sys_call_table32:
.word compat_sys_set_mempolicy, compat_sys_kexec_load, compat_sys_move_pages, sys_getcpu, compat_sys_epoll_pwait
/*310*/ .word compat_sys_utimensat, compat_sys_signalfd, sys_timerfd_create, sys_eventfd, compat_sys_fallocate
.word compat_sys_timerfd_settime, compat_sys_timerfd_gettime, compat_sys_signalfd4, sys_eventfd2, sys_epoll_create1
/*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4
/*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1

#endif /* CONFIG_COMPAT */

Expand Down Expand Up @@ -156,4 +156,4 @@ sys_call_table:
.word sys_set_mempolicy, sys_kexec_load, sys_move_pages, sys_getcpu, sys_epoll_pwait
/*310*/ .word sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate
.word sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1
/*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4
/*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1
7 changes: 2 additions & 5 deletions trunk/arch/x86/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -167,12 +167,9 @@ config GENERIC_PENDING_IRQ
config X86_SMP
bool
depends on SMP && ((X86_32 && !X86_VOYAGER) || X86_64)
select USE_GENERIC_SMP_HELPERS
default y

config USE_GENERIC_SMP_HELPERS
def_bool y
depends on SMP

config X86_32_SMP
def_bool y
depends on X86_32 && SMP
Expand Down Expand Up @@ -960,7 +957,7 @@ config ARCH_PHYS_ADDR_T_64BIT
config NUMA
bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)"
depends on SMP
depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && EXPERIMENTAL)
depends on X86_64 || (X86_32 && HIGHMEM64G && (X86_NUMAQ || X86_BIGSMP || X86_SUMMIT && ACPI) && BROKEN)
default n if X86_PC
default y if (X86_NUMAQ || X86_SUMMIT || X86_BIGSMP)
help
Expand Down
4 changes: 0 additions & 4 deletions trunk/arch/x86/include/asm/mmzone_32.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,10 @@ static inline void get_memcfg_numa(void)

extern int early_pfn_to_nid(unsigned long pfn);

extern void resume_map_numa_kva(pgd_t *pgd);

#else /* !CONFIG_NUMA */

#define get_memcfg_numa get_memcfg_numa_flat

static inline void resume_map_numa_kva(pgd_t *pgd) {}

#endif /* CONFIG_NUMA */

#ifdef CONFIG_DISCONTIGMEM
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/x86/include/asm/unistd_64.h
Original file line number Diff line number Diff line change
Expand Up @@ -639,8 +639,8 @@ __SYSCALL(__NR_fallocate, sys_fallocate)
__SYSCALL(__NR_timerfd_settime, sys_timerfd_settime)
#define __NR_timerfd_gettime 287
__SYSCALL(__NR_timerfd_gettime, sys_timerfd_gettime)
#define __NR_accept4 288
__SYSCALL(__NR_accept4, sys_accept4)
#define __NR_paccept 288
__SYSCALL(__NR_paccept, sys_paccept)
#define __NR_signalfd4 289
__SYSCALL(__NR_signalfd4, sys_signalfd4)
#define __NR_eventfd2 290
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/x86/kernel/amd_iommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -537,7 +537,7 @@ static void dma_ops_free_addresses(struct dma_ops_domain *dom,
address >>= PAGE_SHIFT;
iommu_area_free(dom->bitmap, address, pages);

if (address >= dom->next_bit)
if (address + pages >= dom->next_bit)
dom->need_flush = true;
}

Expand Down
6 changes: 2 additions & 4 deletions trunk/arch/x86/kernel/amd_iommu_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ u16 amd_iommu_last_bdf; /* largest PCI device id we have
LIST_HEAD(amd_iommu_unity_map); /* a list of required unity mappings
we find in ACPI */
unsigned amd_iommu_aperture_order = 26; /* size of aperture in power of 2 */
int amd_iommu_isolate = 1; /* if 1, device isolation is enabled */
int amd_iommu_isolate; /* if 1, device isolation is enabled */
bool amd_iommu_unmap_flush; /* if true, flush on every unmap */

LIST_HEAD(amd_iommu_list); /* list of all AMD IOMMUs in the
Expand Down Expand Up @@ -1213,9 +1213,7 @@ static int __init parse_amd_iommu_options(char *str)
for (; *str; ++str) {
if (strncmp(str, "isolate", 7) == 0)
amd_iommu_isolate = 1;
if (strncmp(str, "share", 5) == 0)
amd_iommu_isolate = 0;
if (strncmp(str, "fullflush", 9) == 0)
if (strncmp(str, "fullflush", 11) == 0)
amd_iommu_unmap_flush = true;
}

Expand Down
25 changes: 4 additions & 21 deletions trunk/arch/x86/kernel/ds.c
Original file line number Diff line number Diff line change
Expand Up @@ -236,33 +236,17 @@ static inline struct ds_context *ds_alloc_context(struct task_struct *task)
struct ds_context *context = *p_context;

if (!context) {
spin_unlock(&ds_lock);

context = kzalloc(sizeof(*context), GFP_KERNEL);

if (!context) {
spin_lock(&ds_lock);
if (!context)
return NULL;
}

context->ds = kzalloc(ds_cfg.sizeof_ds, GFP_KERNEL);
if (!context->ds) {
kfree(context);
spin_lock(&ds_lock);
return NULL;
}

spin_lock(&ds_lock);
/*
* Check for race - another CPU could have allocated
* it meanwhile:
*/
if (*p_context) {
kfree(context->ds);
kfree(context);
return *p_context;
}

*p_context = context;

context->this = p_context;
Expand Down Expand Up @@ -400,15 +384,14 @@ static int ds_request(struct task_struct *task, void *base, size_t size,

spin_lock(&ds_lock);

if (!check_tracer(task))
return -EPERM;

error = -ENOMEM;
context = ds_alloc_context(task);
if (!context)
goto out_unlock;

error = -EPERM;
if (!check_tracer(task))
goto out_unlock;

error = -EALREADY;
if (context->owner[qual] == current)
goto out_unlock;
Expand Down
9 changes: 8 additions & 1 deletion trunk/arch/x86/kernel/es7000_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -250,24 +250,31 @@ int __init find_unisys_acpi_oem_table(unsigned long *oem_addr)
{
struct acpi_table_header *header = NULL;
int i = 0;
acpi_size tbl_size;

while (ACPI_SUCCESS(acpi_get_table("OEM1", i++, &header))) {
while (ACPI_SUCCESS(acpi_get_table_with_size("OEM1", i++, &header, &tbl_size))) {
if (!memcmp((char *) &header->oem_id, "UNISYS", 6)) {
struct oem_table *t = (struct oem_table *)header;

oem_addrX = t->OEMTableAddr;
oem_size = t->OEMTableSize;
early_acpi_os_unmap_memory(header, tbl_size);

*oem_addr = (unsigned long)__acpi_map_table(oem_addrX,
oem_size);
return 0;
}
early_acpi_os_unmap_memory(header, tbl_size);
}
return -1;
}

void __init unmap_unisys_acpi_oem_table(unsigned long oem_addr)
{
if (!oem_addr)
return;

__acpi_unmap_table((char *)oem_addr, oem_size);
}
#endif

Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/x86/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -764,7 +764,7 @@ static struct dmi_system_id __initdata bad_bios_dmi_table[] = {
.callback = dmi_low_memory_corruption,
.ident = "Phoenix BIOS",
.matches = {
DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies"),
DMI_MATCH(DMI_BIOS_VENDOR, "Phoenix Technologies, LTD"),
},
},
#endif
Expand Down
4 changes: 0 additions & 4 deletions trunk/arch/x86/kernel/tsc_sync.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,7 @@ static __cpuinit void check_tsc_warp(void)
cycles_t start, now, prev, end;
int i;

rdtsc_barrier();
start = get_cycles();
rdtsc_barrier();
/*
* The measurement runs for 20 msecs:
*/
Expand All @@ -63,9 +61,7 @@ static __cpuinit void check_tsc_warp(void)
*/
__raw_spin_lock(&sync_lock);
prev = last_tsc;
rdtsc_barrier();
now = get_cycles();
rdtsc_barrier();
last_tsc = now;
__raw_spin_unlock(&sync_lock);

Expand Down
16 changes: 2 additions & 14 deletions trunk/arch/x86/mach-voyager/voyager_smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
* This file provides all the same external entries as smp.c but uses
* the voyager hal to provide the functionality
*/
#include <linux/cpu.h>
#include <linux/module.h>
#include <linux/mm.h>
#include <linux/kernel_stat.h>
Expand Down Expand Up @@ -1791,17 +1790,6 @@ void __init smp_setup_processor_id(void)
x86_write_percpu(cpu_number, hard_smp_processor_id());
}

static void voyager_send_call_func(cpumask_t callmask)
{
__u32 mask = cpus_addr(callmask)[0] & ~(1 << smp_processor_id());
send_CPI(mask, VIC_CALL_FUNCTION_CPI);
}

static void voyager_send_call_func_single(int cpu)
{
send_CPI(1 << cpu, VIC_CALL_FUNCTION_SINGLE_CPI);
}

struct smp_ops smp_ops = {
.smp_prepare_boot_cpu = voyager_smp_prepare_boot_cpu,
.smp_prepare_cpus = voyager_smp_prepare_cpus,
Expand All @@ -1811,6 +1799,6 @@ struct smp_ops smp_ops = {
.smp_send_stop = voyager_smp_send_stop,
.smp_send_reschedule = voyager_smp_send_reschedule,

.send_call_func_ipi = voyager_send_call_func,
.send_call_func_single_ipi = voyager_send_call_func_single,
.send_call_func_ipi = native_send_call_func_ipi,
.send_call_func_single_ipi = native_send_call_func_single_ipi,
};
35 changes: 0 additions & 35 deletions trunk/arch/x86/mm/numa_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -222,41 +222,6 @@ static void __init remap_numa_kva(void)
}
}

#ifdef CONFIG_HIBERNATION
/**
* resume_map_numa_kva - add KVA mapping to the temporary page tables created
* during resume from hibernation
* @pgd_base - temporary resume page directory
*/
void resume_map_numa_kva(pgd_t *pgd_base)
{
int node;

for_each_online_node(node) {
unsigned long start_va, start_pfn, size, pfn;

start_va = (unsigned long)node_remap_start_vaddr[node];
start_pfn = node_remap_start_pfn[node];
size = node_remap_size[node];

printk(KERN_DEBUG "%s: node %d\n", __FUNCTION__, node);

for (pfn = 0; pfn < size; pfn += PTRS_PER_PTE) {
unsigned long vaddr = start_va + (pfn << PAGE_SHIFT);
pgd_t *pgd = pgd_base + pgd_index(vaddr);
pud_t *pud = pud_offset(pgd, vaddr);
pmd_t *pmd = pmd_offset(pud, vaddr);

set_pmd(pmd, pfn_pmd(start_pfn + pfn,
PAGE_KERNEL_LARGE_EXEC));

printk(KERN_DEBUG "%s: %08lx -> pfn %08lx\n",
__FUNCTION__, vaddr, start_pfn + pfn);
}
}
}
#endif

static unsigned long calculate_numa_remap_pages(void)
{
int nid;
Expand Down
Loading

0 comments on commit bf0f4e7

Please sign in to comment.