From fd3eef10f5a55acdefbd3f53ca7618a35cb6231f Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Sat, 17 Mar 2007 11:17:31 -0400 Subject: [PARISC] Wire up kexec_load syscall Definitely unimplemented at this point and will just trap to sys_ni_syscall... Signed-off-by: Kyle McMartin --- include/asm-parisc/unistd.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/asm-parisc/unistd.h b/include/asm-parisc/unistd.h index 2f7c40861c91..693743f9a304 100644 --- a/include/asm-parisc/unistd.h +++ b/include/asm-parisc/unistd.h @@ -792,8 +792,9 @@ #define __NR_epoll_pwait (__NR_Linux + 297) #define __NR_statfs64 (__NR_Linux + 298) #define __NR_fstatfs64 (__NR_Linux + 299) +#define __NR_kexec_load (__NR_Linux + 300) -#define __NR_Linux_syscalls (__NR_fstatfs64 + 1) +#define __NR_Linux_syscalls (__NR_kexec_load + 1) #define HPUX_GATEWAY_ADDR 0xC0000004 #define LINUX_GATEWAY_ADDR 0x100 -- cgit v1.2.3-70-g09d2 From 2cbd42dbf8887c8742f8e6a286c7e5f4f5ddb56b Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Tue, 27 Mar 2007 16:47:49 -0400 Subject: [PARISC] Let PA-8900 processors boot Signed-off-by: Kyle McMartin --- arch/parisc/kernel/hardware.c | 4 +++- arch/parisc/kernel/perf.c | 6 ++++-- arch/parisc/kernel/setup.c | 1 + include/asm-parisc/hardware.h | 3 ++- include/asm-parisc/processor.h | 4 ++-- 5 files changed, 12 insertions(+), 6 deletions(-) (limited to 'include') diff --git a/arch/parisc/kernel/hardware.c b/arch/parisc/kernel/hardware.c index 18ba4cb9159b..e365f0311881 100644 --- a/arch/parisc/kernel/hardware.c +++ b/arch/parisc/kernel/hardware.c @@ -1296,6 +1296,7 @@ static struct hp_cpu_type_mask { { 0x05f0, 0x0ff0, pcxw2 }, /* 0x05f0 - 0x05ff */ { 0x0600, 0x0fe0, pcxl }, /* 0x0600 - 0x061f */ { 0x0880, 0x0ff0, mako }, /* 0x0880 - 0x088f */ + { 0x0890, 0x0ff0, mako2 }, /* 0x0890 - 0x089f */ { 0x0000, 0x0000, pcx } /* terminate table */ }; @@ -1311,7 +1312,8 @@ char *cpu_name_version[][2] = { [pcxw] = { "PA8500 (PCX-W)", "2.0" }, [pcxw_] = { "PA8600 (PCX-W+)", "2.0" }, [pcxw2] = { "PA8700 (PCX-W2)", "2.0" }, - [mako] = { "PA8800 (Mako)", "2.0" } + [mako] = { "PA8800 (Mako)", "2.0" }, + [mako2] = { "PA8900 (Shortfin)", "2.0" } }; const char * __init diff --git a/arch/parisc/kernel/perf.c b/arch/parisc/kernel/perf.c index a46bc62b643e..08717380e025 100644 --- a/arch/parisc/kernel/perf.c +++ b/arch/parisc/kernel/perf.c @@ -511,10 +511,12 @@ static int __init perf_init(void) } else if (boot_cpu_data.cpu_type == pcxw || boot_cpu_data.cpu_type == pcxw_ || boot_cpu_data.cpu_type == pcxw2 || - boot_cpu_data.cpu_type == mako) { + boot_cpu_data.cpu_type == mako || + boot_cpu_data.cpu_type == mako2) { perf_processor_interface = CUDA_INTF; if (boot_cpu_data.cpu_type == pcxw2 || - boot_cpu_data.cpu_type == mako) + boot_cpu_data.cpu_type == mako || + boot_cpu_data.cpu_type == mako2) bitmask_array = perf_bitmasks_piranha; } else { perf_processor_interface = UNKNOWN_INTF; diff --git a/arch/parisc/kernel/setup.c b/arch/parisc/kernel/setup.c index b5703485088b..b34882cd71fb 100644 --- a/arch/parisc/kernel/setup.c +++ b/arch/parisc/kernel/setup.c @@ -225,6 +225,7 @@ static void __init parisc_proc_mkdir(void) } break; case mako: + case mako2: if (NULL == proc_mckinley_root) { proc_mckinley_root = proc_mkdir("bus/mckinley", NULL); diff --git a/include/asm-parisc/hardware.h b/include/asm-parisc/hardware.h index 76d880dc4bae..daf58dd4ea07 100644 --- a/include/asm-parisc/hardware.h +++ b/include/asm-parisc/hardware.h @@ -31,7 +31,8 @@ enum cpu_type { pcxw = 8, /* pa8500 pa 2.0 */ pcxw_ = 9, /* pa8600 (w+) pa 2.0 */ pcxw2 = 10, /* pa8700 pa 2.0 */ - mako = 11 /* pa8800 pa 2.0 */ + mako = 11, /* pa8800 pa 2.0 */ + mako2 = 12 /* pa8900 pa 2.0 */ }; extern char *cpu_name_version[][2]; /* mapping from enum cpu_type to strings */ diff --git a/include/asm-parisc/processor.h b/include/asm-parisc/processor.h index d2f396721d3e..0052dc926d91 100644 --- a/include/asm-parisc/processor.h +++ b/include/asm-parisc/processor.h @@ -334,8 +334,8 @@ extern unsigned long get_wchan(struct task_struct *p); static inline int parisc_requires_coherency(void) { #ifdef CONFIG_PA8X00 - /* FIXME: also pa8900 - when we see one */ - return boot_cpu_data.cpu_type == mako; + return (boot_cpu_data.cpu_type == mako) || + (boot_cpu_data.cpu_type == mako2); #else return 0; #endif -- cgit v1.2.3-70-g09d2 From e9541d0ca2a5d713c5d8dcb635d3f41e75c90bfb Mon Sep 17 00:00:00 2001 From: Helge Deller Date: Sun, 27 May 2007 19:30:36 +0200 Subject: [PARISC] fix section mismatches in arch/parisc/kernel Hi Kyle, this patch fixes two section mismatches in arch/parisc/kernel: WARNING: arch/parisc/kernel/built-in.o(.data.read_mostly+0xd8): Section mismatch: reference to .init.text:processor_probe (between 'cpu_driver' and 'boot_cpu_data') WARNING: arch/parisc/kernel/built-in.o(.text.alloc_pa_dev+0x140): Section mismatch: reference to .init.text:parisc_hardware_description (after 'alloc_pa_dev') Additionally, mark some tables as constants. Please apply, Helge Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin --- arch/parisc/kernel/hardware.c | 10 +++++----- arch/parisc/kernel/processor.c | 6 +++--- include/asm-parisc/hardware.h | 2 +- include/asm-parisc/processor.h | 4 ++-- 4 files changed, 11 insertions(+), 11 deletions(-) (limited to 'include') diff --git a/arch/parisc/kernel/hardware.c b/arch/parisc/kernel/hardware.c index e365f0311881..04848b2b381c 100644 --- a/arch/parisc/kernel/hardware.c +++ b/arch/parisc/kernel/hardware.c @@ -38,7 +38,7 @@ * so don't reference this table after starting the init process */ -static struct hp_hardware hp_hardware_list[] __initdata = { +static struct hp_hardware hp_hardware_list[] __devinitdata = { {HPHW_NPROC,0x01,0x4,0x0,"Indigo (840, 930)"}, {HPHW_NPROC,0x8,0x4,0x01,"Firefox(825,925)"}, {HPHW_NPROC,0xA,0x4,0x01,"Top Gun (835,834,935,635)"}, @@ -1219,7 +1219,7 @@ static struct hp_cpu_type_mask { unsigned short model; unsigned short mask; enum cpu_type cpu; -} hp_cpu_type_mask_list[] __initdata = { +} hp_cpu_type_mask_list[] __devinitdata = { { 0x0000, 0x0ff0, pcx }, /* 0x0000 - 0x000f */ { 0x0048, 0x0ff0, pcxl }, /* 0x0040 - 0x004f */ @@ -1300,7 +1300,7 @@ static struct hp_cpu_type_mask { { 0x0000, 0x0000, pcx } /* terminate table */ }; -char *cpu_name_version[][2] = { +const char * const cpu_name_version[][2] = { [pcx] = { "PA7000 (PCX)", "1.0" }, [pcxs] = { "PA7000 (PCX-S)", "1.1a" }, [pcxt] = { "PA7100 (PCX-T)", "1.1b" }, @@ -1316,7 +1316,7 @@ char *cpu_name_version[][2] = { [mako2] = { "PA8900 (Shortfin)", "2.0" } }; -const char * __init +const char * __devinit parisc_hardware_description(struct parisc_device_id *id) { struct hp_hardware *listptr; @@ -1355,7 +1355,7 @@ parisc_hardware_description(struct parisc_device_id *id) /* Interpret hversion (ret[0]) from PDC_MODEL(4)/PDC_MODEL_INFO(0) */ -enum cpu_type __init +enum cpu_type __cpuinit parisc_get_cpu_type(unsigned long hversion) { struct hp_cpu_type_mask *ptr; diff --git a/arch/parisc/kernel/processor.c b/arch/parisc/kernel/processor.c index 27f955378a42..549f5484342c 100644 --- a/arch/parisc/kernel/processor.c +++ b/arch/parisc/kernel/processor.c @@ -76,7 +76,7 @@ extern int update_cr16_clocksource(void); /* from time.c */ * (return 1). If so, initialize the chip and tell other partners in crime * they have work to do. */ -static int __init processor_probe(struct parisc_device *dev) +static int __cpuinit processor_probe(struct parisc_device *dev) { unsigned long txn_addr; unsigned long cpuid; @@ -381,12 +381,12 @@ show_cpuinfo (struct seq_file *m, void *v) return 0; } -static struct parisc_device_id processor_tbl[] __read_mostly = { +static const struct parisc_device_id processor_tbl[] = { { HPHW_NPROC, HVERSION_REV_ANY_ID, HVERSION_ANY_ID, SVERSION_ANY_ID }, { 0, } }; -static struct parisc_driver cpu_driver __read_mostly = { +static struct parisc_driver cpu_driver = { .name = "CPU", .id_table = processor_tbl, .probe = processor_probe diff --git a/include/asm-parisc/hardware.h b/include/asm-parisc/hardware.h index daf58dd4ea07..4e9626836bab 100644 --- a/include/asm-parisc/hardware.h +++ b/include/asm-parisc/hardware.h @@ -35,7 +35,7 @@ enum cpu_type { mako2 = 12 /* pa8900 pa 2.0 */ }; -extern char *cpu_name_version[][2]; /* mapping from enum cpu_type to strings */ +extern const char * const cpu_name_version[][2]; /* mapping from enum cpu_type to strings */ struct parisc_driver; diff --git a/include/asm-parisc/processor.h b/include/asm-parisc/processor.h index 0052dc926d91..6b294fb07a23 100644 --- a/include/asm-parisc/processor.h +++ b/include/asm-parisc/processor.h @@ -69,8 +69,8 @@ struct system_cpuinfo_parisc { char sys_model_name[81]; /* PDC-ROM returnes this model name */ } pdc; - char *cpu_name; /* e.g. "PA7300LC (PCX-L2)" */ - char *family_name; /* e.g. "1.1e" */ + const char *cpu_name; /* e.g. "PA7300LC (PCX-L2)" */ + const char *family_name; /* e.g. "1.1e" */ }; -- cgit v1.2.3-70-g09d2 From 593af52aa63193ac331cc13bca2b5611b74ddf77 Mon Sep 17 00:00:00 2001 From: Helge Deller Date: Sun, 27 May 2007 21:15:49 +0200 Subject: [PARISC] Wire up utimensat/signalfd/timerfd/eventfd syscalls Wire up utimensat/signalfd/timerfd/eventfd syscalls and mark select/fadvise64/utimes to be ignored by checksyscalls.sh Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin --- arch/parisc/kernel/syscall_table.S | 5 +++++ include/asm-parisc/unistd.h | 12 +++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/arch/parisc/kernel/syscall_table.S b/arch/parisc/kernel/syscall_table.S index 7e04db6b725a..627f3c28ad8c 100644 --- a/arch/parisc/kernel/syscall_table.S +++ b/arch/parisc/kernel/syscall_table.S @@ -401,6 +401,11 @@ ENTRY_COMP(statfs64) ENTRY_COMP(fstatfs64) ENTRY_COMP(kexec_load) /* 300 */ + ENTRY_COMP(utimensat) + ENTRY_COMP(signalfd) + ENTRY_COMP(timerfd) + ENTRY_SAME(eventfd) + /* Nothing yet */ #undef ENTRY_SAME diff --git a/include/asm-parisc/unistd.h b/include/asm-parisc/unistd.h index 693743f9a304..f74099bdca3c 100644 --- a/include/asm-parisc/unistd.h +++ b/include/asm-parisc/unistd.h @@ -793,8 +793,18 @@ #define __NR_statfs64 (__NR_Linux + 298) #define __NR_fstatfs64 (__NR_Linux + 299) #define __NR_kexec_load (__NR_Linux + 300) +#define __NR_utimensat (__NR_Linux + 301) +#define __NR_signalfd (__NR_Linux + 302) +#define __NR_timerfd (__NR_Linux + 303) +#define __NR_eventfd (__NR_Linux + 304) + +#define __NR_Linux_syscalls (__NR_eventfd + 1) + + +#define __IGNORE_select /* newselect */ +#define __IGNORE_fadvise64 /* fadvise64_64 */ +#define __IGNORE_utimes /* utime */ -#define __NR_Linux_syscalls (__NR_kexec_load + 1) #define HPUX_GATEWAY_ADDR 0xC0000004 #define LINUX_GATEWAY_ADDR 0x100 -- cgit v1.2.3-70-g09d2 From c2b6ebd50be76879261b67fc5fd29608b82ae443 Mon Sep 17 00:00:00 2001 From: Helge Deller Date: Mon, 28 May 2007 18:01:39 +0200 Subject: [PARISC] fix "ENTRY" macro redefinition Thanks to James for noticing. It fixes: fs/ext3/xattr.c:65:1: warning: "ENTRY" redefined In file included from include/linux/linkage.h:4, from include/linux/fs.h:271, from fs/ext3/xattr.c:54: include/asm/linkage.h:13:1: warning: this is the location of the previous definition Signed-off-by: Helge Deller Signed-off-by: Kyle McMartin --- include/asm-parisc/linkage.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include') diff --git a/include/asm-parisc/linkage.h b/include/asm-parisc/linkage.h index 7a09d911b538..cdb470921ace 100644 --- a/include/asm-parisc/linkage.h +++ b/include/asm-parisc/linkage.h @@ -10,6 +10,8 @@ * In parisc assembly a semicolon marks a comment while a * exclamation mark is used to seperate independend lines. */ +#ifdef __ASSEMBLY__ + #define ENTRY(name) \ .export name !\ ALIGN !\ @@ -24,5 +26,6 @@ name: END(name) #endif +#endif /* __ASSEMBLY__ */ #endif /* __ASM_PARISC_LINKAGE_H */ -- cgit v1.2.3-70-g09d2 From 516a9491151d5f75911647dd44812f25ff24282d Mon Sep 17 00:00:00 2001 From: Kyle McMartin Date: Wed, 30 May 2007 02:14:36 -0400 Subject: [PARISC] fix trivial spelling nit in asm/linkage.h Noticed by John David Anglin. Signed-off-by: Kyle McMartin --- include/asm-parisc/linkage.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/asm-parisc/linkage.h b/include/asm-parisc/linkage.h index cdb470921ace..ad8cd0d069ea 100644 --- a/include/asm-parisc/linkage.h +++ b/include/asm-parisc/linkage.h @@ -8,7 +8,7 @@ /* * In parisc assembly a semicolon marks a comment while a - * exclamation mark is used to seperate independend lines. + * exclamation mark is used to seperate independent lines. */ #ifdef __ASSEMBLY__ -- cgit v1.2.3-70-g09d2