diff options
Diffstat (limited to 'arch/um/kernel')
-rw-r--r-- | arch/um/kernel/irq.c | 35 | ||||
-rw-r--r-- | arch/um/kernel/ksyms.c | 1 | ||||
-rw-r--r-- | arch/um/kernel/mem.c | 64 | ||||
-rw-r--r-- | arch/um/kernel/physmem.c | 2 | ||||
-rw-r--r-- | arch/um/kernel/process.c | 2 | ||||
-rw-r--r-- | arch/um/kernel/ptrace.c | 2 | ||||
-rw-r--r-- | arch/um/kernel/time.c | 8 | ||||
-rw-r--r-- | arch/um/kernel/uaccess.c | 2 |
8 files changed, 7 insertions, 109 deletions
diff --git a/arch/um/kernel/irq.c b/arch/um/kernel/irq.c index 91587f8db340..3d7aad09b171 100644 --- a/arch/um/kernel/irq.c +++ b/arch/um/kernel/irq.c | |||
@@ -102,7 +102,7 @@ void sigio_handler(int sig, struct uml_pt_regs *regs) | |||
102 | 102 | ||
103 | static DEFINE_SPINLOCK(irq_lock); | 103 | static DEFINE_SPINLOCK(irq_lock); |
104 | 104 | ||
105 | int activate_fd(int irq, int fd, int type, void *dev_id) | 105 | static int activate_fd(int irq, int fd, int type, void *dev_id) |
106 | { | 106 | { |
107 | struct pollfd *tmp_pfd; | 107 | struct pollfd *tmp_pfd; |
108 | struct irq_fd *new_fd, *irq_fd; | 108 | struct irq_fd *new_fd, *irq_fd; |
@@ -216,7 +216,7 @@ static int same_irq_and_dev(struct irq_fd *irq, void *d) | |||
216 | return ((irq->irq == data->irq) && (irq->id == data->dev)); | 216 | return ((irq->irq == data->irq) && (irq->id == data->dev)); |
217 | } | 217 | } |
218 | 218 | ||
219 | void free_irq_by_irq_and_dev(unsigned int irq, void *dev) | 219 | static void free_irq_by_irq_and_dev(unsigned int irq, void *dev) |
220 | { | 220 | { |
221 | struct irq_and_dev data = ((struct irq_and_dev) { .irq = irq, | 221 | struct irq_and_dev data = ((struct irq_and_dev) { .irq = irq, |
222 | .dev = dev }); | 222 | .dev = dev }); |
@@ -403,37 +403,6 @@ void __init init_IRQ(void) | |||
403 | } | 403 | } |
404 | } | 404 | } |
405 | 405 | ||
406 | int init_aio_irq(int irq, char *name, irq_handler_t handler) | ||
407 | { | ||
408 | int fds[2], err; | ||
409 | |||
410 | err = os_pipe(fds, 1, 1); | ||
411 | if (err) { | ||
412 | printk(KERN_ERR "init_aio_irq - os_pipe failed, err = %d\n", | ||
413 | -err); | ||
414 | goto out; | ||
415 | } | ||
416 | |||
417 | err = um_request_irq(irq, fds[0], IRQ_READ, handler, | ||
418 | IRQF_DISABLED | IRQF_SAMPLE_RANDOM, name, | ||
419 | (void *) (long) fds[0]); | ||
420 | if (err) { | ||
421 | printk(KERN_ERR "init_aio_irq - : um_request_irq failed, " | ||
422 | "err = %d\n", | ||
423 | err); | ||
424 | goto out_close; | ||
425 | } | ||
426 | |||
427 | err = fds[1]; | ||
428 | goto out; | ||
429 | |||
430 | out_close: | ||
431 | os_close_file(fds[0]); | ||
432 | os_close_file(fds[1]); | ||
433 | out: | ||
434 | return err; | ||
435 | } | ||
436 | |||
437 | /* | 406 | /* |
438 | * IRQ stack entry and exit: | 407 | * IRQ stack entry and exit: |
439 | * | 408 | * |
diff --git a/arch/um/kernel/ksyms.c b/arch/um/kernel/ksyms.c index ccc02a616c22..836fc9b94707 100644 --- a/arch/um/kernel/ksyms.c +++ b/arch/um/kernel/ksyms.c | |||
@@ -18,7 +18,6 @@ EXPORT_SYMBOL(get_signals); | |||
18 | EXPORT_SYMBOL(kernel_thread); | 18 | EXPORT_SYMBOL(kernel_thread); |
19 | EXPORT_SYMBOL(sys_waitpid); | 19 | EXPORT_SYMBOL(sys_waitpid); |
20 | EXPORT_SYMBOL(flush_tlb_range); | 20 | EXPORT_SYMBOL(flush_tlb_range); |
21 | EXPORT_SYMBOL(arch_validate); | ||
22 | 21 | ||
23 | EXPORT_SYMBOL(high_physmem); | 22 | EXPORT_SYMBOL(high_physmem); |
24 | EXPORT_SYMBOL(empty_zero_page); | 23 | EXPORT_SYMBOL(empty_zero_page); |
diff --git a/arch/um/kernel/mem.c b/arch/um/kernel/mem.c index b0ee64622ff7..61d7e6138ff5 100644 --- a/arch/um/kernel/mem.c +++ b/arch/um/kernel/mem.c | |||
@@ -21,7 +21,7 @@ | |||
21 | /* allocated in paging_init, zeroed in mem_init, and unchanged thereafter */ | 21 | /* allocated in paging_init, zeroed in mem_init, and unchanged thereafter */ |
22 | unsigned long *empty_zero_page = NULL; | 22 | unsigned long *empty_zero_page = NULL; |
23 | /* allocated in paging_init and unchanged thereafter */ | 23 | /* allocated in paging_init and unchanged thereafter */ |
24 | unsigned long *empty_bad_page = NULL; | 24 | static unsigned long *empty_bad_page = NULL; |
25 | 25 | ||
26 | /* | 26 | /* |
27 | * Initialized during boot, and readonly for initializing page tables | 27 | * Initialized during boot, and readonly for initializing page tables |
@@ -240,37 +240,6 @@ void __init paging_init(void) | |||
240 | #endif | 240 | #endif |
241 | } | 241 | } |
242 | 242 | ||
243 | struct page *arch_validate(struct page *page, gfp_t mask, int order) | ||
244 | { | ||
245 | unsigned long addr, zero = 0; | ||
246 | int i; | ||
247 | |||
248 | again: | ||
249 | if (page == NULL) | ||
250 | return page; | ||
251 | if (PageHighMem(page)) | ||
252 | return page; | ||
253 | |||
254 | addr = (unsigned long) page_address(page); | ||
255 | for (i = 0; i < (1 << order); i++) { | ||
256 | current->thread.fault_addr = (void *) addr; | ||
257 | if (__do_copy_to_user((void __user *) addr, &zero, | ||
258 | sizeof(zero), | ||
259 | ¤t->thread.fault_addr, | ||
260 | ¤t->thread.fault_catcher)) { | ||
261 | if (!(mask & __GFP_WAIT)) | ||
262 | return NULL; | ||
263 | else break; | ||
264 | } | ||
265 | addr += PAGE_SIZE; | ||
266 | } | ||
267 | |||
268 | if (i == (1 << order)) | ||
269 | return page; | ||
270 | page = alloc_pages(mask, order); | ||
271 | goto again; | ||
272 | } | ||
273 | |||
274 | /* | 243 | /* |
275 | * This can't do anything because nothing in the kernel image can be freed | 244 | * This can't do anything because nothing in the kernel image can be freed |
276 | * since it's not in kernel physical memory. | 245 | * since it's not in kernel physical memory. |
@@ -295,37 +264,6 @@ void free_initrd_mem(unsigned long start, unsigned long end) | |||
295 | } | 264 | } |
296 | #endif | 265 | #endif |
297 | 266 | ||
298 | void show_mem(void) | ||
299 | { | ||
300 | int pfn, total = 0, reserved = 0; | ||
301 | int shared = 0, cached = 0; | ||
302 | int high_mem = 0; | ||
303 | struct page *page; | ||
304 | |||
305 | printk(KERN_INFO "Mem-info:\n"); | ||
306 | show_free_areas(); | ||
307 | printk(KERN_INFO "Free swap: %6ldkB\n", | ||
308 | nr_swap_pages<<(PAGE_SHIFT-10)); | ||
309 | pfn = max_mapnr; | ||
310 | while (pfn-- > 0) { | ||
311 | page = pfn_to_page(pfn); | ||
312 | total++; | ||
313 | if (PageHighMem(page)) | ||
314 | high_mem++; | ||
315 | if (PageReserved(page)) | ||
316 | reserved++; | ||
317 | else if (PageSwapCache(page)) | ||
318 | cached++; | ||
319 | else if (page_count(page)) | ||
320 | shared += page_count(page) - 1; | ||
321 | } | ||
322 | printk(KERN_INFO "%d pages of RAM\n", total); | ||
323 | printk(KERN_INFO "%d pages of HIGHMEM\n", high_mem); | ||
324 | printk(KERN_INFO "%d reserved pages\n", reserved); | ||
325 | printk(KERN_INFO "%d pages shared\n", shared); | ||
326 | printk(KERN_INFO "%d pages swap cached\n", cached); | ||
327 | } | ||
328 | |||
329 | /* Allocate and free page tables. */ | 267 | /* Allocate and free page tables. */ |
330 | 268 | ||
331 | pgd_t *pgd_alloc(struct mm_struct *mm) | 269 | pgd_t *pgd_alloc(struct mm_struct *mm) |
diff --git a/arch/um/kernel/physmem.c b/arch/um/kernel/physmem.c index 9757085a0220..a1a9090254c2 100644 --- a/arch/um/kernel/physmem.c +++ b/arch/um/kernel/physmem.c | |||
@@ -185,7 +185,7 @@ unsigned long find_iomem(char *driver, unsigned long *len_out) | |||
185 | return 0; | 185 | return 0; |
186 | } | 186 | } |
187 | 187 | ||
188 | int setup_iomem(void) | 188 | static int setup_iomem(void) |
189 | { | 189 | { |
190 | struct iomem_region *region = iomem_regions; | 190 | struct iomem_region *region = iomem_regions; |
191 | unsigned long iomem_start = high_physmem + PAGE_SIZE; | 191 | unsigned long iomem_start = high_physmem + PAGE_SIZE; |
diff --git a/arch/um/kernel/process.c b/arch/um/kernel/process.c index 83603cfbde81..a1c6d07cac3e 100644 --- a/arch/um/kernel/process.c +++ b/arch/um/kernel/process.c | |||
@@ -243,7 +243,7 @@ void default_idle(void) | |||
243 | if (need_resched()) | 243 | if (need_resched()) |
244 | schedule(); | 244 | schedule(); |
245 | 245 | ||
246 | tick_nohz_stop_sched_tick(); | 246 | tick_nohz_stop_sched_tick(1); |
247 | nsecs = disable_timer(); | 247 | nsecs = disable_timer(); |
248 | idle_sleep(nsecs); | 248 | idle_sleep(nsecs); |
249 | tick_nohz_restart_sched_tick(); | 249 | tick_nohz_restart_sched_tick(); |
diff --git a/arch/um/kernel/ptrace.c b/arch/um/kernel/ptrace.c index 47b57b497d55..15e8b7c4de13 100644 --- a/arch/um/kernel/ptrace.c +++ b/arch/um/kernel/ptrace.c | |||
@@ -225,7 +225,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data) | |||
225 | return ret; | 225 | return ret; |
226 | } | 226 | } |
227 | 227 | ||
228 | void send_sigtrap(struct task_struct *tsk, struct uml_pt_regs *regs, | 228 | static void send_sigtrap(struct task_struct *tsk, struct uml_pt_regs *regs, |
229 | int error_code) | 229 | int error_code) |
230 | { | 230 | { |
231 | struct siginfo info; | 231 | struct siginfo info; |
diff --git a/arch/um/kernel/time.c b/arch/um/kernel/time.c index c3e2f369c33c..47f04f4a3464 100644 --- a/arch/um/kernel/time.c +++ b/arch/um/kernel/time.c | |||
@@ -13,14 +13,6 @@ | |||
13 | #include "kern_util.h" | 13 | #include "kern_util.h" |
14 | #include "os.h" | 14 | #include "os.h" |
15 | 15 | ||
16 | /* | ||
17 | * Scheduler clock - returns current time in nanosec units. | ||
18 | */ | ||
19 | unsigned long long sched_clock(void) | ||
20 | { | ||
21 | return (unsigned long long)jiffies_64 * (NSEC_PER_SEC / HZ); | ||
22 | } | ||
23 | |||
24 | void timer_handler(int sig, struct uml_pt_regs *regs) | 16 | void timer_handler(int sig, struct uml_pt_regs *regs) |
25 | { | 17 | { |
26 | unsigned long flags; | 18 | unsigned long flags; |
diff --git a/arch/um/kernel/uaccess.c b/arch/um/kernel/uaccess.c index f0f4b040d7c5..dd33f040c526 100644 --- a/arch/um/kernel/uaccess.c +++ b/arch/um/kernel/uaccess.c | |||
@@ -12,7 +12,7 @@ | |||
12 | #include <linux/string.h> | 12 | #include <linux/string.h> |
13 | #include "os.h" | 13 | #include "os.h" |
14 | 14 | ||
15 | void __do_copy(void *to, const void *from, int n) | 15 | static void __do_copy(void *to, const void *from, int n) |
16 | { | 16 | { |
17 | memcpy(to, from, n); | 17 | memcpy(to, from, n); |
18 | } | 18 | } |