diff options
Diffstat (limited to 'meta/recipes-extended/libaio/libaio/00_arches.patch')
-rw-r--r-- | meta/recipes-extended/libaio/libaio/00_arches.patch | 194 |
1 files changed, 44 insertions, 150 deletions
diff --git a/meta/recipes-extended/libaio/libaio/00_arches.patch b/meta/recipes-extended/libaio/libaio/00_arches.patch index 9d6447d98a..bec189f87c 100644 --- a/meta/recipes-extended/libaio/libaio/00_arches.patch +++ b/meta/recipes-extended/libaio/libaio/00_arches.patch | |||
@@ -1,11 +1,27 @@ | |||
1 | From ceba1e03e5b57cdae0b3b2d2c9afebc085c986d8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Qing He <qing.he@intel.com> | ||
3 | Date: Fri, 27 Aug 2010 10:15:31 +0800 | ||
4 | Subject: [PATCH] libaio: add new recipe | ||
5 | |||
1 | Upstream-Status: Inappropriate [embedded specific] | 6 | Upstream-Status: Inappropriate [embedded specific] |
2 | 7 | ||
3 | from openembedded, added by Qing He <qing.he@intel.com> | 8 | from openembedded, added by Qing He <qing.he@intel.com> |
4 | 9 | ||
5 | Index: libaio-0.3.110/src/syscall-m68k.h | 10 | --- |
6 | =================================================================== | 11 | src/syscall-m68k.h | 78 ++++++++++++++++++ |
12 | src/syscall-mips.h | 223 +++++++++++++++++++++++++++++++++++++++++++++++++++ | ||
13 | src/syscall-parisc.h | 146 +++++++++++++++++++++++++++++++++ | ||
14 | src/syscall.h | 6 ++ | ||
15 | 4 files changed, 453 insertions(+) | ||
16 | create mode 100644 src/syscall-m68k.h | ||
17 | create mode 100644 src/syscall-mips.h | ||
18 | create mode 100644 src/syscall-parisc.h | ||
19 | |||
20 | diff --git a/src/syscall-m68k.h b/src/syscall-m68k.h | ||
21 | new file mode 100644 | ||
22 | index 0000000..f440412 | ||
7 | --- /dev/null | 23 | --- /dev/null |
8 | +++ libaio-0.3.110/src/syscall-m68k.h | 24 | +++ b/src/syscall-m68k.h |
9 | @@ -0,0 +1,78 @@ | 25 | @@ -0,0 +1,78 @@ |
10 | +#define __NR_io_setup 241 | 26 | +#define __NR_io_setup 241 |
11 | +#define __NR_io_destroy 242 | 27 | +#define __NR_io_destroy 242 |
@@ -85,27 +101,11 @@ Index: libaio-0.3.110/src/syscall-m68k.h | |||
85 | +return (type) __res; \ | 101 | +return (type) __res; \ |
86 | +} | 102 | +} |
87 | + | 103 | + |
88 | Index: libaio-0.3.110/src/syscall.h | 104 | diff --git a/src/syscall-mips.h b/src/syscall-mips.h |
89 | =================================================================== | 105 | new file mode 100644 |
90 | --- libaio-0.3.110.orig/src/syscall.h | 106 | index 0000000..4142499 |
91 | +++ libaio-0.3.110/src/syscall.h | ||
92 | @@ -28,6 +28,12 @@ | ||
93 | #include "syscall-sparc.h" | ||
94 | #elif defined(__aarch64__) | ||
95 | #include "syscall-arm64.h" | ||
96 | +#elif defined(__m68k__) | ||
97 | +#include "syscall-m68k.h" | ||
98 | +#elif defined(__hppa__) | ||
99 | +#include "syscall-parisc.h" | ||
100 | +#elif defined(__mips__) | ||
101 | +#include "syscall-mips.h" | ||
102 | #else | ||
103 | #warning "using generic syscall method" | ||
104 | #include "syscall-generic.h" | ||
105 | Index: libaio-0.3.110/src/syscall-mips.h | ||
106 | =================================================================== | ||
107 | --- /dev/null | 107 | --- /dev/null |
108 | +++ libaio-0.3.110/src/syscall-mips.h | 108 | +++ b/src/syscall-mips.h |
109 | @@ -0,0 +1,223 @@ | 109 | @@ -0,0 +1,223 @@ |
110 | +/* | 110 | +/* |
111 | + * This file is subject to the terms and conditions of the GNU General Public | 111 | + * This file is subject to the terms and conditions of the GNU General Public |
@@ -330,10 +330,11 @@ Index: libaio-0.3.110/src/syscall-mips.h | |||
330 | + | 330 | + |
331 | +#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */ | 331 | +#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */ |
332 | + | 332 | + |
333 | Index: libaio-0.3.110/src/syscall-parisc.h | 333 | diff --git a/src/syscall-parisc.h b/src/syscall-parisc.h |
334 | =================================================================== | 334 | new file mode 100644 |
335 | index 0000000..ff61746 | ||
335 | --- /dev/null | 336 | --- /dev/null |
336 | +++ libaio-0.3.110/src/syscall-parisc.h | 337 | +++ b/src/syscall-parisc.h |
337 | @@ -0,0 +1,146 @@ | 338 | @@ -0,0 +1,146 @@ |
338 | +/* | 339 | +/* |
339 | + * Linux system call numbers. | 340 | + * Linux system call numbers. |
@@ -481,127 +482,20 @@ Index: libaio-0.3.110/src/syscall-parisc.h | |||
481 | + return K_INLINE_SYSCALL(sname, 5, arg1, arg2, arg3, arg4, arg5); \ | 482 | + return K_INLINE_SYSCALL(sname, 5, arg1, arg2, arg3, arg4, arg5); \ |
482 | +} | 483 | +} |
483 | + | 484 | + |
484 | Index: libaio-0.3.110/src/syscall-arm.h | 485 | diff --git a/src/syscall.h b/src/syscall.h |
485 | =================================================================== | 486 | index 9b9e9c1..9ecd3b4 100644 |
486 | --- libaio-0.3.110.orig/src/syscall-arm.h | 487 | --- a/src/syscall.h |
487 | +++ libaio-0.3.110/src/syscall-arm.h | 488 | +++ b/src/syscall.h |
488 | @@ -114,3 +114,119 @@ type fname(type1 arg1, type2 arg2, type3 | 489 | @@ -29,6 +29,12 @@ |
489 | return (type) __res_r0; \ | 490 | #include "syscall-sparc.h" |
490 | } | 491 | #elif defined(__aarch64__) || defined(__riscv) |
491 | 492 | #include "syscall-generic.h" | |
492 | +/* | 493 | +#elif defined(__m68k__) |
493 | + * linux/include/asm-arm/unistd.h | 494 | +#include "syscall-m68k.h" |
494 | + * | 495 | +#elif defined(__hppa__) |
495 | + * Copyright (C) 2001-2005 Russell King | 496 | +#include "syscall-parisc.h" |
496 | + * | 497 | +#elif defined(__mips__) |
497 | + * This program is free software; you can redistribute it and/or modify | 498 | +#include "syscall-mips.h" |
498 | + * it under the terms of the GNU General Public License version 2 as | 499 | #else |
499 | + * published by the Free Software Foundation. | 500 | #warning "using system call numbers from sys/syscall.h" |
500 | + * | 501 | #endif |
501 | + * Please forward _all_ changes to this file to rmk@arm.linux.org.uk, | ||
502 | + * no matter what the change is. Thanks! | ||
503 | + */ | ||
504 | + | ||
505 | +#define __NR_OABI_SYSCALL_BASE 0x900000 | ||
506 | + | ||
507 | +#if defined(__thumb__) || defined(__ARM_EABI__) | ||
508 | +#define __NR_SYSCALL_BASE 0 | ||
509 | +#else | ||
510 | +#define __NR_SYSCALL_BASE __NR_OABI_SYSCALL_BASE | ||
511 | +#endif | ||
512 | + | ||
513 | +#define __NR_io_setup (__NR_SYSCALL_BASE+243) | ||
514 | +#define __NR_io_destroy (__NR_SYSCALL_BASE+244) | ||
515 | +#define __NR_io_getevents (__NR_SYSCALL_BASE+245) | ||
516 | +#define __NR_io_submit (__NR_SYSCALL_BASE+246) | ||
517 | +#define __NR_io_cancel (__NR_SYSCALL_BASE+247) | ||
518 | + | ||
519 | +#define __sys2(x) #x | ||
520 | +#define __sys1(x) __sys2(x) | ||
521 | + | ||
522 | +#if defined(__thumb__) || defined(__ARM_EABI__) | ||
523 | +#define __SYS_REG(name) register long __sysreg __asm__("r7") = __NR_##name; | ||
524 | +#define __SYS_REG_LIST(regs...) "r" (__sysreg) , ##regs | ||
525 | +#define __syscall(name) "swi\t0" | ||
526 | +#else | ||
527 | +#define __SYS_REG(name) | ||
528 | +#define __SYS_REG_LIST(regs...) regs | ||
529 | +#define __syscall(name) "swi\t" __sys1(__NR_##name) "" | ||
530 | +#endif | ||
531 | + | ||
532 | +#define io_syscall1(type,fname,sname,type1,arg1) \ | ||
533 | +type fname(type1 arg1) { \ | ||
534 | + __SYS_REG(sname) \ | ||
535 | + register long __r0 __asm__("r0") = (long)arg1; \ | ||
536 | + register long __res_r0 __asm__("r0"); \ | ||
537 | + __asm__ __volatile__ ( \ | ||
538 | + __syscall(sname) \ | ||
539 | + : "=r" (__res_r0) \ | ||
540 | + : __SYS_REG_LIST( "0" (__r0) ) \ | ||
541 | + : "memory" ); \ | ||
542 | + return (type) __res_r0; \ | ||
543 | +} | ||
544 | + | ||
545 | +#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \ | ||
546 | +type fname(type1 arg1,type2 arg2) { \ | ||
547 | + __SYS_REG(sname) \ | ||
548 | + register long __r0 __asm__("r0") = (long)arg1; \ | ||
549 | + register long __r1 __asm__("r1") = (long)arg2; \ | ||
550 | + register long __res_r0 __asm__("r0"); \ | ||
551 | + __asm__ __volatile__ ( \ | ||
552 | + __syscall(sname) \ | ||
553 | + : "=r" (__res_r0) \ | ||
554 | + : __SYS_REG_LIST( "0" (__r0), "r" (__r1) ) \ | ||
555 | + : "memory" ); \ | ||
556 | + return (type) __res_r0; \ | ||
557 | +} | ||
558 | + | ||
559 | +#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \ | ||
560 | +type fname(type1 arg1,type2 arg2,type3 arg3) { \ | ||
561 | + __SYS_REG(sname) \ | ||
562 | + register long __r0 __asm__("r0") = (long)arg1; \ | ||
563 | + register long __r1 __asm__("r1") = (long)arg2; \ | ||
564 | + register long __r2 __asm__("r2") = (long)arg3; \ | ||
565 | + register long __res_r0 __asm__("r0"); \ | ||
566 | + __asm__ __volatile__ ( \ | ||
567 | + __syscall(sname) \ | ||
568 | + : "=r" (__res_r0) \ | ||
569 | + : __SYS_REG_LIST( "0" (__r0), "r" (__r1), "r" (__r2) ) \ | ||
570 | + : "memory" ); \ | ||
571 | + return (type) __res_r0; \ | ||
572 | +} | ||
573 | + | ||
574 | +#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4)\ | ||
575 | +type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) { \ | ||
576 | + __SYS_REG(sname) \ | ||
577 | + register long __r0 __asm__("r0") = (long)arg1; \ | ||
578 | + register long __r1 __asm__("r1") = (long)arg2; \ | ||
579 | + register long __r2 __asm__("r2") = (long)arg3; \ | ||
580 | + register long __r3 __asm__("r3") = (long)arg4; \ | ||
581 | + register long __res_r0 __asm__("r0"); \ | ||
582 | + __asm__ __volatile__ ( \ | ||
583 | + __syscall(sname) \ | ||
584 | + : "=r" (__res_r0) \ | ||
585 | + : __SYS_REG_LIST( "0" (__r0), "r" (__r1), "r" (__r2), "r" (__r3) ) \ | ||
586 | + : "memory" ); \ | ||
587 | + return (type) __res_r0; \ | ||
588 | +} | ||
589 | + | ||
590 | +#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \ | ||
591 | +type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) {\ | ||
592 | + __SYS_REG(sname) \ | ||
593 | + register long __r0 __asm__("r0") = (long)arg1; \ | ||
594 | + register long __r1 __asm__("r1") = (long)arg2; \ | ||
595 | + register long __r2 __asm__("r2") = (long)arg3; \ | ||
596 | + register long __r3 __asm__("r3") = (long)arg4; \ | ||
597 | + register long __r4 __asm__("r4") = (long)arg5; \ | ||
598 | + register long __res_r0 __asm__("r0"); \ | ||
599 | + __asm__ __volatile__ ( \ | ||
600 | + __syscall(sname) \ | ||
601 | + : "=r" (__res_r0) \ | ||
602 | + : __SYS_REG_LIST( "0" (__r0), "r" (__r1), "r" (__r2), \ | ||
603 | + "r" (__r3), "r" (__r4) ) \ | ||
604 | + : "memory" ); \ | ||
605 | + return (type) __res_r0; \ | ||
606 | +} | ||
607 | + | ||