diff options
Diffstat (limited to 'include/asm-mips')
| -rw-r--r-- | include/asm-mips/asm.h | 2 | ||||
| -rw-r--r-- | include/asm-mips/cacheflush.h | 19 | ||||
| -rw-r--r-- | include/asm-mips/div64.h | 21 | ||||
| -rw-r--r-- | include/asm-mips/fixmap.h | 14 | ||||
| -rw-r--r-- | include/asm-mips/irq.h | 4 | ||||
| -rw-r--r-- | include/asm-mips/mipsmtregs.h | 2 | ||||
| -rw-r--r-- | include/asm-mips/pgalloc.h | 2 | ||||
| -rw-r--r-- | include/asm-mips/pgtable-64.h | 2 | ||||
| -rw-r--r-- | include/asm-mips/sibyte/sb1250.h | 2 | ||||
| -rw-r--r-- | include/asm-mips/system.h | 2 | ||||
| -rw-r--r-- | include/asm-mips/time.h | 10 | ||||
| -rw-r--r-- | include/asm-mips/unistd.h | 19 |
12 files changed, 42 insertions, 57 deletions
diff --git a/include/asm-mips/asm.h b/include/asm-mips/asm.h index e3038a4599ee..838eb3144d81 100644 --- a/include/asm-mips/asm.h +++ b/include/asm-mips/asm.h | |||
| @@ -344,6 +344,7 @@ symbol = value | |||
| 344 | #define PTR_L lw | 344 | #define PTR_L lw |
| 345 | #define PTR_S sw | 345 | #define PTR_S sw |
| 346 | #define PTR_LA la | 346 | #define PTR_LA la |
| 347 | #define PTR_LI li | ||
| 347 | #define PTR_SLL sll | 348 | #define PTR_SLL sll |
| 348 | #define PTR_SLLV sllv | 349 | #define PTR_SLLV sllv |
| 349 | #define PTR_SRL srl | 350 | #define PTR_SRL srl |
| @@ -368,6 +369,7 @@ symbol = value | |||
| 368 | #define PTR_L ld | 369 | #define PTR_L ld |
| 369 | #define PTR_S sd | 370 | #define PTR_S sd |
| 370 | #define PTR_LA dla | 371 | #define PTR_LA dla |
| 372 | #define PTR_LI dli | ||
| 371 | #define PTR_SLL dsll | 373 | #define PTR_SLL dsll |
| 372 | #define PTR_SLLV dsllv | 374 | #define PTR_SLLV dsllv |
| 373 | #define PTR_SRL dsrl | 375 | #define PTR_SRL dsrl |
diff --git a/include/asm-mips/cacheflush.h b/include/asm-mips/cacheflush.h index 9ab59e2bb233..e3c9925876a3 100644 --- a/include/asm-mips/cacheflush.h +++ b/include/asm-mips/cacheflush.h | |||
| @@ -55,24 +55,13 @@ extern void (*flush_icache_range)(unsigned long start, unsigned long end); | |||
| 55 | #define flush_cache_vmap(start, end) flush_cache_all() | 55 | #define flush_cache_vmap(start, end) flush_cache_all() |
| 56 | #define flush_cache_vunmap(start, end) flush_cache_all() | 56 | #define flush_cache_vunmap(start, end) flush_cache_all() |
| 57 | 57 | ||
| 58 | static inline void copy_to_user_page(struct vm_area_struct *vma, | 58 | extern void copy_to_user_page(struct vm_area_struct *vma, |
| 59 | struct page *page, unsigned long vaddr, void *dst, const void *src, | 59 | struct page *page, unsigned long vaddr, void *dst, const void *src, |
| 60 | unsigned long len) | 60 | unsigned long len); |
| 61 | { | ||
| 62 | if (cpu_has_dc_aliases) | ||
| 63 | flush_cache_page(vma, vaddr, page_to_pfn(page)); | ||
| 64 | memcpy(dst, src, len); | ||
| 65 | __flush_icache_page(vma, page); | ||
| 66 | } | ||
| 67 | 61 | ||
| 68 | static inline void copy_from_user_page(struct vm_area_struct *vma, | 62 | extern void copy_from_user_page(struct vm_area_struct *vma, |
| 69 | struct page *page, unsigned long vaddr, void *dst, const void *src, | 63 | struct page *page, unsigned long vaddr, void *dst, const void *src, |
| 70 | unsigned long len) | 64 | unsigned long len); |
| 71 | { | ||
| 72 | if (cpu_has_dc_aliases) | ||
| 73 | flush_cache_page(vma, vaddr, page_to_pfn(page)); | ||
| 74 | memcpy(dst, src, len); | ||
| 75 | } | ||
| 76 | 65 | ||
| 77 | extern void (*flush_cache_sigtramp)(unsigned long addr); | 66 | extern void (*flush_cache_sigtramp)(unsigned long addr); |
| 78 | extern void (*flush_icache_all)(void); | 67 | extern void (*flush_icache_all)(void); |
diff --git a/include/asm-mips/div64.h b/include/asm-mips/div64.h index 5f7dcf5452e7..d107832de1b6 100644 --- a/include/asm-mips/div64.h +++ b/include/asm-mips/div64.h | |||
| @@ -83,27 +83,6 @@ | |||
| 83 | #if (_MIPS_SZLONG == 64) | 83 | #if (_MIPS_SZLONG == 64) |
| 84 | 84 | ||
| 85 | /* | 85 | /* |
| 86 | * Don't use this one in new code | ||
| 87 | */ | ||
| 88 | #define do_div64_32(res, high, low, base) ({ \ | ||
| 89 | unsigned int __quot, __mod; \ | ||
| 90 | unsigned long __div; \ | ||
| 91 | unsigned int __low, __high, __base; \ | ||
| 92 | \ | ||
| 93 | __high = (high); \ | ||
| 94 | __low = (low); \ | ||
| 95 | __div = __high; \ | ||
| 96 | __div = __div << 32 | __low; \ | ||
| 97 | __base = (base); \ | ||
| 98 | \ | ||
| 99 | __mod = __div % __base; \ | ||
| 100 | __div = __div / __base; \ | ||
| 101 | \ | ||
| 102 | __quot = __div; \ | ||
| 103 | (res) = __quot; \ | ||
| 104 | __mod; }) | ||
| 105 | |||
| 106 | /* | ||
| 107 | * Hey, we're already 64-bit, no | 86 | * Hey, we're already 64-bit, no |
| 108 | * need to play games.. | 87 | * need to play games.. |
| 109 | */ | 88 | */ |
diff --git a/include/asm-mips/fixmap.h b/include/asm-mips/fixmap.h index 6959bdb59310..02c8a13fc894 100644 --- a/include/asm-mips/fixmap.h +++ b/include/asm-mips/fixmap.h | |||
| @@ -45,8 +45,16 @@ | |||
| 45 | * fix-mapped? | 45 | * fix-mapped? |
| 46 | */ | 46 | */ |
| 47 | enum fixed_addresses { | 47 | enum fixed_addresses { |
| 48 | #define FIX_N_COLOURS 8 | ||
| 49 | FIX_CMAP_BEGIN, | ||
| 50 | #ifdef CONFIG_MIPS_MT_SMTC | ||
| 51 | FIX_CMAP_END = FIX_CMAP_BEGIN + (FIX_N_COLOURS * NR_CPUS), | ||
| 52 | #else | ||
| 53 | FIX_CMAP_END = FIX_CMAP_BEGIN + FIX_N_COLOURS, | ||
| 54 | #endif | ||
| 48 | #ifdef CONFIG_HIGHMEM | 55 | #ifdef CONFIG_HIGHMEM |
| 49 | FIX_KMAP_BEGIN, /* reserved pte's for temporary kernel mappings */ | 56 | /* reserved pte's for temporary kernel mappings */ |
| 57 | FIX_KMAP_BEGIN = FIX_CMAP_END + 1, | ||
| 50 | FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*NR_CPUS)-1, | 58 | FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*NR_CPUS)-1, |
| 51 | #endif | 59 | #endif |
| 52 | __end_of_fixed_addresses | 60 | __end_of_fixed_addresses |
| @@ -70,9 +78,9 @@ extern void __set_fixmap (enum fixed_addresses idx, | |||
| 70 | * at the top of mem.. | 78 | * at the top of mem.. |
| 71 | */ | 79 | */ |
| 72 | #if defined(CONFIG_CPU_TX39XX) || defined(CONFIG_CPU_TX49XX) | 80 | #if defined(CONFIG_CPU_TX39XX) || defined(CONFIG_CPU_TX49XX) |
| 73 | #define FIXADDR_TOP (0xff000000UL - 0x2000) | 81 | #define FIXADDR_TOP ((unsigned long)(long)(int)(0xff000000 - 0x20000)) |
| 74 | #else | 82 | #else |
| 75 | #define FIXADDR_TOP (0xffffe000UL) | 83 | #define FIXADDR_TOP ((unsigned long)(long)(int)0xfffe0000) |
| 76 | #endif | 84 | #endif |
| 77 | #define FIXADDR_SIZE (__end_of_fixed_addresses << PAGE_SHIFT) | 85 | #define FIXADDR_SIZE (__end_of_fixed_addresses << PAGE_SHIFT) |
| 78 | #define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE) | 86 | #define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE) |
diff --git a/include/asm-mips/irq.h b/include/asm-mips/irq.h index 0ce2a80b689e..35a05ca5560c 100644 --- a/include/asm-mips/irq.h +++ b/include/asm-mips/irq.h | |||
| @@ -74,4 +74,8 @@ extern int setup_irq_smtc(unsigned int irq, struct irqaction * new, | |||
| 74 | unsigned long hwmask); | 74 | unsigned long hwmask); |
| 75 | #endif /* CONFIG_MIPS_MT_SMTC */ | 75 | #endif /* CONFIG_MIPS_MT_SMTC */ |
| 76 | 76 | ||
| 77 | extern int allocate_irqno(void); | ||
| 78 | extern void alloc_legacy_irqno(void); | ||
| 79 | extern void free_irqno(unsigned int irq); | ||
| 80 | |||
| 77 | #endif /* _ASM_IRQ_H */ | 81 | #endif /* _ASM_IRQ_H */ |
diff --git a/include/asm-mips/mipsmtregs.h b/include/asm-mips/mipsmtregs.h index f637ce70758f..3e9468f424f4 100644 --- a/include/asm-mips/mipsmtregs.h +++ b/include/asm-mips/mipsmtregs.h | |||
| @@ -352,6 +352,8 @@ do { \ | |||
| 352 | #define write_vpe_c0_vpecontrol(val) mttc0(1, 1, val) | 352 | #define write_vpe_c0_vpecontrol(val) mttc0(1, 1, val) |
| 353 | #define read_vpe_c0_vpeconf0() mftc0(1, 2) | 353 | #define read_vpe_c0_vpeconf0() mftc0(1, 2) |
| 354 | #define write_vpe_c0_vpeconf0(val) mttc0(1, 2, val) | 354 | #define write_vpe_c0_vpeconf0(val) mttc0(1, 2, val) |
| 355 | #define read_vpe_c0_count() mftc0(9, 0) | ||
| 356 | #define write_vpe_c0_count(val) mttc0(9, 0, val) | ||
| 355 | #define read_vpe_c0_status() mftc0(12, 0) | 357 | #define read_vpe_c0_status() mftc0(12, 0) |
| 356 | #define write_vpe_c0_status(val) mttc0(12, 0, val) | 358 | #define write_vpe_c0_status(val) mttc0(12, 0, val) |
| 357 | #define read_vpe_c0_cause() mftc0(13, 0) | 359 | #define read_vpe_c0_cause() mftc0(13, 0) |
diff --git a/include/asm-mips/pgalloc.h b/include/asm-mips/pgalloc.h index 582c1fe6cc4a..af121c67dc71 100644 --- a/include/asm-mips/pgalloc.h +++ b/include/asm-mips/pgalloc.h | |||
| @@ -48,7 +48,7 @@ static inline pgd_t *pgd_alloc(struct mm_struct *mm) | |||
| 48 | 48 | ||
| 49 | ret = (pgd_t *) __get_free_pages(GFP_KERNEL, PGD_ORDER); | 49 | ret = (pgd_t *) __get_free_pages(GFP_KERNEL, PGD_ORDER); |
| 50 | if (ret) { | 50 | if (ret) { |
| 51 | init = pgd_offset(&init_mm, 0); | 51 | init = pgd_offset(&init_mm, 0UL); |
| 52 | pgd_init((unsigned long)ret); | 52 | pgd_init((unsigned long)ret); |
| 53 | memcpy(ret + USER_PTRS_PER_PGD, init + USER_PTRS_PER_PGD, | 53 | memcpy(ret + USER_PTRS_PER_PGD, init + USER_PTRS_PER_PGD, |
| 54 | (PTRS_PER_PGD - USER_PTRS_PER_PGD) * sizeof(pgd_t)); | 54 | (PTRS_PER_PGD - USER_PTRS_PER_PGD) * sizeof(pgd_t)); |
diff --git a/include/asm-mips/pgtable-64.h b/include/asm-mips/pgtable-64.h index d05fb6f38aa7..7e7320300aa3 100644 --- a/include/asm-mips/pgtable-64.h +++ b/include/asm-mips/pgtable-64.h | |||
| @@ -174,7 +174,7 @@ static inline void pud_clear(pud_t *pudp) | |||
| 174 | #define __pmd_offset(address) pmd_index(address) | 174 | #define __pmd_offset(address) pmd_index(address) |
| 175 | 175 | ||
| 176 | /* to find an entry in a kernel page-table-directory */ | 176 | /* to find an entry in a kernel page-table-directory */ |
| 177 | #define pgd_offset_k(address) pgd_offset(&init_mm, 0) | 177 | #define pgd_offset_k(address) pgd_offset(&init_mm, 0UL) |
| 178 | 178 | ||
| 179 | #define pgd_index(address) (((address) >> PGDIR_SHIFT) & (PTRS_PER_PGD-1)) | 179 | #define pgd_index(address) (((address) >> PGDIR_SHIFT) & (PTRS_PER_PGD-1)) |
| 180 | #define pmd_index(address) (((address) >> PMD_SHIFT) & (PTRS_PER_PMD-1)) | 180 | #define pmd_index(address) (((address) >> PMD_SHIFT) & (PTRS_PER_PMD-1)) |
diff --git a/include/asm-mips/sibyte/sb1250.h b/include/asm-mips/sibyte/sb1250.h index b09e16c93ca0..2ba6988ddc8e 100644 --- a/include/asm-mips/sibyte/sb1250.h +++ b/include/asm-mips/sibyte/sb1250.h | |||
| @@ -51,8 +51,8 @@ extern void sb1250_mask_irq(int cpu, int irq); | |||
| 51 | extern void sb1250_unmask_irq(int cpu, int irq); | 51 | extern void sb1250_unmask_irq(int cpu, int irq); |
| 52 | extern void sb1250_smp_finish(void); | 52 | extern void sb1250_smp_finish(void); |
| 53 | 53 | ||
| 54 | extern void bcm1480_hpt_setup(void); | ||
| 54 | extern void bcm1480_time_init(void); | 55 | extern void bcm1480_time_init(void); |
| 55 | extern unsigned long bcm1480_gettimeoffset(void); | ||
| 56 | extern void bcm1480_mask_irq(int cpu, int irq); | 56 | extern void bcm1480_mask_irq(int cpu, int irq); |
| 57 | extern void bcm1480_unmask_irq(int cpu, int irq); | 57 | extern void bcm1480_unmask_irq(int cpu, int irq); |
| 58 | extern void bcm1480_smp_finish(void); | 58 | extern void bcm1480_smp_finish(void); |
diff --git a/include/asm-mips/system.h b/include/asm-mips/system.h index dcb4701d5728..3056feed5a36 100644 --- a/include/asm-mips/system.h +++ b/include/asm-mips/system.h | |||
| @@ -392,7 +392,7 @@ static inline unsigned long __cmpxchg_u64(volatile int * m, unsigned long old, | |||
| 392 | { | 392 | { |
| 393 | __u64 retval; | 393 | __u64 retval; |
| 394 | 394 | ||
| 395 | if (cpu_has_llsc) { | 395 | if (cpu_has_llsc && R10000_LLSC_WAR) { |
| 396 | __asm__ __volatile__( | 396 | __asm__ __volatile__( |
| 397 | " .set push \n" | 397 | " .set push \n" |
| 398 | " .set noat \n" | 398 | " .set noat \n" |
diff --git a/include/asm-mips/time.h b/include/asm-mips/time.h index 28512ba2266e..625acd337bc3 100644 --- a/include/asm-mips/time.h +++ b/include/asm-mips/time.h | |||
| @@ -48,7 +48,8 @@ extern void (*mips_timer_ack)(void); | |||
| 48 | * If mips_hpt_read is NULL, an R4k-compatible timer setup is attempted. | 48 | * If mips_hpt_read is NULL, an R4k-compatible timer setup is attempted. |
| 49 | */ | 49 | */ |
| 50 | extern unsigned int (*mips_hpt_read)(void); | 50 | extern unsigned int (*mips_hpt_read)(void); |
| 51 | extern void (*mips_hpt_init)(unsigned int); | 51 | extern void (*mips_hpt_init)(void); |
| 52 | extern unsigned int mips_hpt_mask; | ||
| 52 | 53 | ||
| 53 | /* | 54 | /* |
| 54 | * to_tm() converts system time back to (year, mon, day, hour, min, sec). | 55 | * to_tm() converts system time back to (year, mon, day, hour, min, sec). |
| @@ -58,13 +59,6 @@ extern void (*mips_hpt_init)(unsigned int); | |||
| 58 | extern void to_tm(unsigned long tim, struct rtc_time *tm); | 59 | extern void to_tm(unsigned long tim, struct rtc_time *tm); |
| 59 | 60 | ||
| 60 | /* | 61 | /* |
| 61 | * do_gettimeoffset(). By default, this func pointer points to | ||
| 62 | * do_null_gettimeoffset(), which leads to the same resolution as HZ. | ||
| 63 | * Higher resolution versions are available, which give ~1us resolution. | ||
| 64 | */ | ||
| 65 | extern unsigned long (*do_gettimeoffset)(void); | ||
| 66 | |||
| 67 | /* | ||
| 68 | * high-level timer interrupt routines. | 62 | * high-level timer interrupt routines. |
| 69 | */ | 63 | */ |
| 70 | extern irqreturn_t timer_interrupt(int irq, void *dev_id); | 64 | extern irqreturn_t timer_interrupt(int irq, void *dev_id); |
diff --git a/include/asm-mips/unistd.h b/include/asm-mips/unistd.h index 30240a445dbb..ec56aa52f669 100644 --- a/include/asm-mips/unistd.h +++ b/include/asm-mips/unistd.h | |||
| @@ -332,16 +332,18 @@ | |||
| 332 | #define __NR_set_robust_list (__NR_Linux + 309) | 332 | #define __NR_set_robust_list (__NR_Linux + 309) |
| 333 | #define __NR_get_robust_list (__NR_Linux + 310) | 333 | #define __NR_get_robust_list (__NR_Linux + 310) |
| 334 | #define __NR_kexec_load (__NR_Linux + 311) | 334 | #define __NR_kexec_load (__NR_Linux + 311) |
| 335 | #define __NR_getcpu (__NR_Linux + 312) | ||
| 336 | #define __NR_epoll_pwait (__NR_Linux + 313) | ||
| 335 | 337 | ||
| 336 | /* | 338 | /* |
| 337 | * Offset of the last Linux o32 flavoured syscall | 339 | * Offset of the last Linux o32 flavoured syscall |
| 338 | */ | 340 | */ |
| 339 | #define __NR_Linux_syscalls 311 | 341 | #define __NR_Linux_syscalls 313 |
| 340 | 342 | ||
| 341 | #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ | 343 | #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ |
| 342 | 344 | ||
| 343 | #define __NR_O32_Linux 4000 | 345 | #define __NR_O32_Linux 4000 |
| 344 | #define __NR_O32_Linux_syscalls 311 | 346 | #define __NR_O32_Linux_syscalls 313 |
| 345 | 347 | ||
| 346 | #if _MIPS_SIM == _MIPS_SIM_ABI64 | 348 | #if _MIPS_SIM == _MIPS_SIM_ABI64 |
| 347 | 349 | ||
| @@ -620,16 +622,18 @@ | |||
| 620 | #define __NR_set_robust_list (__NR_Linux + 268) | 622 | #define __NR_set_robust_list (__NR_Linux + 268) |
| 621 | #define __NR_get_robust_list (__NR_Linux + 269) | 623 | #define __NR_get_robust_list (__NR_Linux + 269) |
| 622 | #define __NR_kexec_load (__NR_Linux + 270) | 624 | #define __NR_kexec_load (__NR_Linux + 270) |
| 625 | #define __NR_getcpu (__NR_Linux + 271) | ||
| 626 | #define __NR_epoll_pwait (__NR_Linux + 272) | ||
| 623 | 627 | ||
| 624 | /* | 628 | /* |
| 625 | * Offset of the last Linux 64-bit flavoured syscall | 629 | * Offset of the last Linux 64-bit flavoured syscall |
| 626 | */ | 630 | */ |
| 627 | #define __NR_Linux_syscalls 270 | 631 | #define __NR_Linux_syscalls 272 |
| 628 | 632 | ||
| 629 | #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ | 633 | #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ |
| 630 | 634 | ||
| 631 | #define __NR_64_Linux 5000 | 635 | #define __NR_64_Linux 5000 |
| 632 | #define __NR_64_Linux_syscalls 270 | 636 | #define __NR_64_Linux_syscalls 272 |
| 633 | 637 | ||
| 634 | #if _MIPS_SIM == _MIPS_SIM_NABI32 | 638 | #if _MIPS_SIM == _MIPS_SIM_NABI32 |
| 635 | 639 | ||
| @@ -912,16 +916,18 @@ | |||
| 912 | #define __NR_set_robust_list (__NR_Linux + 272) | 916 | #define __NR_set_robust_list (__NR_Linux + 272) |
| 913 | #define __NR_get_robust_list (__NR_Linux + 273) | 917 | #define __NR_get_robust_list (__NR_Linux + 273) |
| 914 | #define __NR_kexec_load (__NR_Linux + 274) | 918 | #define __NR_kexec_load (__NR_Linux + 274) |
| 919 | #define __NR_getcpu (__NR_Linux + 275) | ||
| 920 | #define __NR_epoll_pwait (__NR_Linux + 276) | ||
| 915 | 921 | ||
| 916 | /* | 922 | /* |
| 917 | * Offset of the last N32 flavoured syscall | 923 | * Offset of the last N32 flavoured syscall |
| 918 | */ | 924 | */ |
| 919 | #define __NR_Linux_syscalls 274 | 925 | #define __NR_Linux_syscalls 276 |
| 920 | 926 | ||
| 921 | #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */ | 927 | #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */ |
| 922 | 928 | ||
| 923 | #define __NR_N32_Linux 6000 | 929 | #define __NR_N32_Linux 6000 |
| 924 | #define __NR_N32_Linux_syscalls 274 | 930 | #define __NR_N32_Linux_syscalls 276 |
| 925 | 931 | ||
| 926 | #ifdef __KERNEL__ | 932 | #ifdef __KERNEL__ |
| 927 | 933 | ||
| @@ -1189,6 +1195,7 @@ type name (atype a,btype b,ctype c,dtype d,etype e,ftype f) \ | |||
| 1189 | #endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */ | 1195 | #endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */ |
| 1190 | 1196 | ||
| 1191 | 1197 | ||
| 1198 | #define __ARCH_OMIT_COMPAT_SYS_GETDENTS64 | ||
| 1192 | #define __ARCH_WANT_IPC_PARSE_VERSION | 1199 | #define __ARCH_WANT_IPC_PARSE_VERSION |
| 1193 | #define __ARCH_WANT_OLD_READDIR | 1200 | #define __ARCH_WANT_OLD_READDIR |
| 1194 | #define __ARCH_WANT_SYS_ALARM | 1201 | #define __ARCH_WANT_SYS_ALARM |
