diff options
Diffstat (limited to 'arch/parisc')
-rw-r--r-- | arch/parisc/include/asm/Kbuild | 1 | ||||
-rw-r--r-- | arch/parisc/include/uapi/asm/ioctls.h | 3 | ||||
-rw-r--r-- | arch/parisc/include/uapi/asm/mman.h | 11 | ||||
-rw-r--r-- | arch/parisc/kernel/pdc_cons.c | 5 | ||||
-rw-r--r-- | arch/parisc/kernel/signal32.c | 6 | ||||
-rw-r--r-- | arch/parisc/kernel/sys_parisc.c | 2 | ||||
-rw-r--r-- | arch/parisc/kernel/syscall_table.S | 2 |
7 files changed, 25 insertions, 5 deletions
diff --git a/arch/parisc/include/asm/Kbuild b/arch/parisc/include/asm/Kbuild index bac8debecffb..ff4c9faed546 100644 --- a/arch/parisc/include/asm/Kbuild +++ b/arch/parisc/include/asm/Kbuild | |||
@@ -3,3 +3,4 @@ generic-y += word-at-a-time.h auxvec.h user.h cputime.h emergency-restart.h \ | |||
3 | segment.h topology.h vga.h device.h percpu.h hw_irq.h mutex.h \ | 3 | segment.h topology.h vga.h device.h percpu.h hw_irq.h mutex.h \ |
4 | div64.h irq_regs.h kdebug.h kvm_para.h local64.h local.h param.h \ | 4 | div64.h irq_regs.h kdebug.h kvm_para.h local64.h local.h param.h \ |
5 | poll.h xor.h clkdev.h exec.h | 5 | poll.h xor.h clkdev.h exec.h |
6 | generic-y += trace_clock.h | ||
diff --git a/arch/parisc/include/uapi/asm/ioctls.h b/arch/parisc/include/uapi/asm/ioctls.h index 054ec06f9e23..66719c38a36b 100644 --- a/arch/parisc/include/uapi/asm/ioctls.h +++ b/arch/parisc/include/uapi/asm/ioctls.h | |||
@@ -55,6 +55,9 @@ | |||
55 | #define TIOCGDEV _IOR('T',0x32, int) /* Get primary device node of /dev/console */ | 55 | #define TIOCGDEV _IOR('T',0x32, int) /* Get primary device node of /dev/console */ |
56 | #define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */ | 56 | #define TIOCSIG _IOW('T',0x36, int) /* Generate signal on Pty slave */ |
57 | #define TIOCVHANGUP 0x5437 | 57 | #define TIOCVHANGUP 0x5437 |
58 | #define TIOCGPKT _IOR('T', 0x38, int) /* Get packet mode state */ | ||
59 | #define TIOCGPTLCK _IOR('T', 0x39, int) /* Get Pty lock state */ | ||
60 | #define TIOCGEXCL _IOR('T', 0x40, int) /* Get exclusive mode state */ | ||
58 | 61 | ||
59 | #define FIONCLEX 0x5450 /* these numbers need to be adjusted. */ | 62 | #define FIONCLEX 0x5450 /* these numbers need to be adjusted. */ |
60 | #define FIOCLEX 0x5451 | 63 | #define FIOCLEX 0x5451 |
diff --git a/arch/parisc/include/uapi/asm/mman.h b/arch/parisc/include/uapi/asm/mman.h index 12219ebce869..294d251ca7b2 100644 --- a/arch/parisc/include/uapi/asm/mman.h +++ b/arch/parisc/include/uapi/asm/mman.h | |||
@@ -70,4 +70,15 @@ | |||
70 | #define MAP_FILE 0 | 70 | #define MAP_FILE 0 |
71 | #define MAP_VARIABLE 0 | 71 | #define MAP_VARIABLE 0 |
72 | 72 | ||
73 | /* | ||
74 | * When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size. | ||
75 | * This gives us 6 bits, which is enough until someone invents 128 bit address | ||
76 | * spaces. | ||
77 | * | ||
78 | * Assume these are all power of twos. | ||
79 | * When 0 use the default page size. | ||
80 | */ | ||
81 | #define MAP_HUGE_SHIFT 26 | ||
82 | #define MAP_HUGE_MASK 0x3f | ||
83 | |||
73 | #endif /* __PARISC_MMAN_H__ */ | 84 | #endif /* __PARISC_MMAN_H__ */ |
diff --git a/arch/parisc/kernel/pdc_cons.c b/arch/parisc/kernel/pdc_cons.c index 88238638aee6..efc5e7d30530 100644 --- a/arch/parisc/kernel/pdc_cons.c +++ b/arch/parisc/kernel/pdc_cons.c | |||
@@ -186,13 +186,13 @@ static int __init pdc_console_tty_driver_init(void) | |||
186 | printk(KERN_INFO "The PDC console driver is still registered, removing CON_BOOT flag\n"); | 186 | printk(KERN_INFO "The PDC console driver is still registered, removing CON_BOOT flag\n"); |
187 | pdc_cons.flags &= ~CON_BOOT; | 187 | pdc_cons.flags &= ~CON_BOOT; |
188 | 188 | ||
189 | tty_port_init(&tty_port); | ||
190 | |||
191 | pdc_console_tty_driver = alloc_tty_driver(1); | 189 | pdc_console_tty_driver = alloc_tty_driver(1); |
192 | 190 | ||
193 | if (!pdc_console_tty_driver) | 191 | if (!pdc_console_tty_driver) |
194 | return -ENOMEM; | 192 | return -ENOMEM; |
195 | 193 | ||
194 | tty_port_init(&tty_port); | ||
195 | |||
196 | pdc_console_tty_driver->driver_name = "pdc_cons"; | 196 | pdc_console_tty_driver->driver_name = "pdc_cons"; |
197 | pdc_console_tty_driver->name = "ttyB"; | 197 | pdc_console_tty_driver->name = "ttyB"; |
198 | pdc_console_tty_driver->major = MUX_MAJOR; | 198 | pdc_console_tty_driver->major = MUX_MAJOR; |
@@ -207,6 +207,7 @@ static int __init pdc_console_tty_driver_init(void) | |||
207 | err = tty_register_driver(pdc_console_tty_driver); | 207 | err = tty_register_driver(pdc_console_tty_driver); |
208 | if (err) { | 208 | if (err) { |
209 | printk(KERN_ERR "Unable to register the PDC console TTY driver\n"); | 209 | printk(KERN_ERR "Unable to register the PDC console TTY driver\n"); |
210 | tty_port_destroy(&tty_port); | ||
210 | return err; | 211 | return err; |
211 | } | 212 | } |
212 | 213 | ||
diff --git a/arch/parisc/kernel/signal32.c b/arch/parisc/kernel/signal32.c index fd49aeda9eb8..5dede04f2f3e 100644 --- a/arch/parisc/kernel/signal32.c +++ b/arch/parisc/kernel/signal32.c | |||
@@ -65,7 +65,8 @@ put_sigset32(compat_sigset_t __user *up, sigset_t *set, size_t sz) | |||
65 | { | 65 | { |
66 | compat_sigset_t s; | 66 | compat_sigset_t s; |
67 | 67 | ||
68 | if (sz != sizeof *set) panic("put_sigset32()"); | 68 | if (sz != sizeof *set) |
69 | return -EINVAL; | ||
69 | sigset_64to32(&s, set); | 70 | sigset_64to32(&s, set); |
70 | 71 | ||
71 | return copy_to_user(up, &s, sizeof s); | 72 | return copy_to_user(up, &s, sizeof s); |
@@ -77,7 +78,8 @@ get_sigset32(compat_sigset_t __user *up, sigset_t *set, size_t sz) | |||
77 | compat_sigset_t s; | 78 | compat_sigset_t s; |
78 | int r; | 79 | int r; |
79 | 80 | ||
80 | if (sz != sizeof *set) panic("put_sigset32()"); | 81 | if (sz != sizeof *set) |
82 | return -EINVAL; | ||
81 | 83 | ||
82 | if ((r = copy_from_user(&s, up, sz)) == 0) { | 84 | if ((r = copy_from_user(&s, up, sz)) == 0) { |
83 | sigset_32to64(set, &s); | 85 | sigset_32to64(set, &s); |
diff --git a/arch/parisc/kernel/sys_parisc.c b/arch/parisc/kernel/sys_parisc.c index 7426e40699bd..f76c10863c62 100644 --- a/arch/parisc/kernel/sys_parisc.c +++ b/arch/parisc/kernel/sys_parisc.c | |||
@@ -73,6 +73,8 @@ static unsigned long get_shared_area(struct address_space *mapping, | |||
73 | struct vm_area_struct *vma; | 73 | struct vm_area_struct *vma; |
74 | int offset = mapping ? get_offset(mapping) : 0; | 74 | int offset = mapping ? get_offset(mapping) : 0; |
75 | 75 | ||
76 | offset = (offset + (pgoff << PAGE_SHIFT)) & 0x3FF000; | ||
77 | |||
76 | addr = DCACHE_ALIGN(addr - offset) + offset; | 78 | addr = DCACHE_ALIGN(addr - offset) + offset; |
77 | 79 | ||
78 | for (vma = find_vma(current->mm, addr); ; vma = vma->vm_next) { | 80 | for (vma = find_vma(current->mm, addr); ; vma = vma->vm_next) { |
diff --git a/arch/parisc/kernel/syscall_table.S b/arch/parisc/kernel/syscall_table.S index 3735abd7f8f6..cbf5d59d5d6a 100644 --- a/arch/parisc/kernel/syscall_table.S +++ b/arch/parisc/kernel/syscall_table.S | |||
@@ -60,7 +60,7 @@ | |||
60 | ENTRY_SAME(fork_wrapper) | 60 | ENTRY_SAME(fork_wrapper) |
61 | ENTRY_SAME(read) | 61 | ENTRY_SAME(read) |
62 | ENTRY_SAME(write) | 62 | ENTRY_SAME(write) |
63 | ENTRY_SAME(open) /* 5 */ | 63 | ENTRY_COMP(open) /* 5 */ |
64 | ENTRY_SAME(close) | 64 | ENTRY_SAME(close) |
65 | ENTRY_SAME(waitpid) | 65 | ENTRY_SAME(waitpid) |
66 | ENTRY_SAME(creat) | 66 | ENTRY_SAME(creat) |