summaryrefslogtreecommitdiffstats
path: root/meta/packages/qemu
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2006-11-23 10:37:22 +0000
committerRichard Purdie <richard@openedhand.com>2006-11-23 10:37:22 +0000
commitc344a7ccb3d321b91693f5fda78ca80b0c3fee86 (patch)
tree17cb710daff2d34c246642f838826ffca28b3cb0 /meta/packages/qemu
parentfdeaa593240847650a8521cc6130513acfaa8df2 (diff)
downloadpoky-c344a7ccb3d321b91693f5fda78ca80b0c3fee86.tar.gz
qemu: refresh arm_nptl.patch
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@943 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/qemu')
-rw-r--r--meta/packages/qemu/files/arm_nptl.patch117
1 files changed, 65 insertions, 52 deletions
diff --git a/meta/packages/qemu/files/arm_nptl.patch b/meta/packages/qemu/files/arm_nptl.patch
index f9b10aebc5..eba1afbc21 100644
--- a/meta/packages/qemu/files/arm_nptl.patch
+++ b/meta/packages/qemu/files/arm_nptl.patch
@@ -1,25 +1,38 @@
1 configure | 29 +++++++
2 exec-all.h | 158 ----------------------------------------
3 linux-user/arm/syscall.h | 4 -
4 linux-user/main.c | 94 +++++++++++++++++++++---
5 linux-user/qemu.h | 3
6 linux-user/syscall.c | 90 ++++++++++++++++++++---
7 qemu_spinlock.h | 182 +++++++++++++++++++++++++++++++++++++++++++++++
8 target-arm/cpu.h | 19 ++++
9 target-arm/exec.h | 2
10 target-arm/op.c | 6 +
11 target-arm/translate.c | 10 ++
12 11 files changed, 415 insertions(+), 182 deletions(-)
13
1Index: qemu/configure 14Index: qemu/configure
2=================================================================== 15===================================================================
3--- qemu.orig/configure 2006-08-26 16:31:53.000000000 +0100 16--- qemu.orig/configure 2006-11-23 10:48:22.000000000 +0000
4+++ qemu/configure 2006-08-26 16:31:53.000000000 +0100 17+++ qemu/configure 2006-11-23 10:48:25.000000000 +0000
5@@ -97,6 +97,7 @@ 18@@ -95,6 +95,7 @@ softmmu="yes"
19 user="no"
6 build_docs="no" 20 build_docs="no"
7 build_acpi_tables="no"
8 uname_release="" 21 uname_release=""
9+nptl="yes" 22+nptl="yes"
10 23
11 # OS specific 24 # OS specific
12 targetos=`uname -s` 25 targetos=`uname -s`
13@@ -243,6 +244,8 @@ 26@@ -237,6 +238,8 @@ for opt do
14 ;; 27 ;;
15 --enable-iasl) build_acpi_tables="yes" 28 --enable-uname-release=*) uname_release="$optarg"
16 ;; 29 ;;
17+ --disable-nptl) nptl="no" 30+ --disable-nptl) nptl="no"
18+ ;; 31+ ;;
19 esac 32 esac
20 done 33 done
21 34
22@@ -441,6 +444,23 @@ 35@@ -433,6 +436,23 @@ EOF
23 fi 36 fi
24 fi 37 fi
25 38
@@ -43,7 +56,7 @@ Index: qemu/configure
43 ########################################## 56 ##########################################
44 # SDL probe 57 # SDL probe
45 58
46@@ -559,6 +579,7 @@ 59@@ -551,6 +571,7 @@ else
47 fi 60 fi
48 echo "FMOD support $fmod $fmod_support" 61 echo "FMOD support $fmod $fmod_support"
49 echo "kqemu support $kqemu" 62 echo "kqemu support $kqemu"
@@ -51,7 +64,7 @@ Index: qemu/configure
51 echo "Documentation $build_docs" 64 echo "Documentation $build_docs"
52 [ ! -z "$uname_release" ] && \ 65 [ ! -z "$uname_release" ] && \
53 echo "uname -r $uname_release" 66 echo "uname -r $uname_release"
54@@ -880,6 +901,14 @@ 67@@ -875,6 +896,14 @@ if test "$target_user_only" = "no"; then
55 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak 68 echo "SDL_CFLAGS=`$sdl_config --cflags`" >> $config_mak
56 fi 69 fi
57 fi 70 fi
@@ -68,9 +81,9 @@ Index: qemu/configure
68 if test "$cocoa" = "yes" ; then 81 if test "$cocoa" = "yes" ; then
69Index: qemu/exec-all.h 82Index: qemu/exec-all.h
70=================================================================== 83===================================================================
71--- qemu.orig/exec-all.h 2006-08-26 16:28:32.000000000 +0100 84--- qemu.orig/exec-all.h 2006-11-23 10:38:32.000000000 +0000
72+++ qemu/exec-all.h 2006-08-26 16:31:53.000000000 +0100 85+++ qemu/exec-all.h 2006-11-23 10:48:25.000000000 +0000
73@@ -347,163 +347,7 @@ 86@@ -357,163 +357,7 @@ extern CPUWriteMemoryFunc *io_mem_write[
74 extern CPUReadMemoryFunc *io_mem_read[IO_MEM_NB_ENTRIES][4]; 87 extern CPUReadMemoryFunc *io_mem_read[IO_MEM_NB_ENTRIES][4];
75 extern void *io_mem_opaque[IO_MEM_NB_ENTRIES]; 88 extern void *io_mem_opaque[IO_MEM_NB_ENTRIES];
76 89
@@ -237,9 +250,9 @@ Index: qemu/exec-all.h
237 250
238Index: qemu/linux-user/arm/syscall.h 251Index: qemu/linux-user/arm/syscall.h
239=================================================================== 252===================================================================
240--- qemu.orig/linux-user/arm/syscall.h 2006-03-09 19:18:11.000000000 +0000 253--- qemu.orig/linux-user/arm/syscall.h 2005-04-27 21:11:21.000000000 +0100
241+++ qemu/linux-user/arm/syscall.h 2006-08-26 16:31:53.000000000 +0100 254+++ qemu/linux-user/arm/syscall.h 2006-11-23 10:48:25.000000000 +0000
242@@ -28,7 +28,9 @@ 255@@ -28,7 +28,9 @@ struct target_pt_regs {
243 #define ARM_SYSCALL_BASE 0x900000 256 #define ARM_SYSCALL_BASE 0x900000
244 #define ARM_THUMB_SYSCALL 0 257 #define ARM_THUMB_SYSCALL 0
245 258
@@ -252,9 +265,9 @@ Index: qemu/linux-user/arm/syscall.h
252 #define ARM_NR_thumb_semihosting 0xAB 265 #define ARM_NR_thumb_semihosting 0xAB
253Index: qemu/linux-user/main.c 266Index: qemu/linux-user/main.c
254=================================================================== 267===================================================================
255--- qemu.orig/linux-user/main.c 2006-08-26 16:28:40.000000000 +0100 268--- qemu.orig/linux-user/main.c 2006-11-23 10:38:34.000000000 +0000
256+++ qemu/linux-user/main.c 2006-08-26 16:31:53.000000000 +0100 269+++ qemu/linux-user/main.c 2006-11-23 10:48:25.000000000 +0000
257@@ -309,6 +309,50 @@ 270@@ -313,6 +313,50 @@ static void arm_cache_flush(target_ulong
258 } 271 }
259 } 272 }
260 273
@@ -305,7 +318,7 @@ Index: qemu/linux-user/main.c
305 void cpu_loop(CPUARMState *env) 318 void cpu_loop(CPUARMState *env)
306 { 319 {
307 int trapnr; 320 int trapnr;
308@@ -365,10 +409,8 @@ 321@@ -369,10 +413,8 @@ void cpu_loop(CPUARMState *env)
309 } 322 }
310 } 323 }
311 324
@@ -318,7 +331,7 @@ Index: qemu/linux-user/main.c
318 env->regs[0] = do_arm_semihosting (env); 331 env->regs[0] = do_arm_semihosting (env);
319 } else if (n == 0 || n >= ARM_SYSCALL_BASE 332 } else if (n == 0 || n >= ARM_SYSCALL_BASE
320 || (env->thumb && n == ARM_THUMB_SYSCALL)) { 333 || (env->thumb && n == ARM_THUMB_SYSCALL)) {
321@@ -379,14 +421,34 @@ 334@@ -383,14 +425,34 @@ void cpu_loop(CPUARMState *env)
322 n -= ARM_SYSCALL_BASE; 335 n -= ARM_SYSCALL_BASE;
323 env->eabi = 0; 336 env->eabi = 0;
324 } 337 }
@@ -361,7 +374,7 @@ Index: qemu/linux-user/main.c
361 } else { 374 } else {
362 goto error; 375 goto error;
363 } 376 }
364@@ -425,6 +487,10 @@ 377@@ -429,6 +491,10 @@ void cpu_loop(CPUARMState *env)
365 } 378 }
366 } 379 }
367 break; 380 break;
@@ -372,7 +385,7 @@ Index: qemu/linux-user/main.c
372 default: 385 default:
373 error: 386 error:
374 fprintf(stderr, "qemu: unhandled CPU exception 0x%x - aborting\n", 387 fprintf(stderr, "qemu: unhandled CPU exception 0x%x - aborting\n",
375@@ -1639,6 +1705,10 @@ 388@@ -1757,6 +1823,10 @@ int main(int argc, char **argv)
376 ts->heap_base = info->brk; 389 ts->heap_base = info->brk;
377 /* This will be filled in on the first SYS_HEAPINFO call. */ 390 /* This will be filled in on the first SYS_HEAPINFO call. */
378 ts->heap_limit = 0; 391 ts->heap_limit = 0;
@@ -385,10 +398,10 @@ Index: qemu/linux-user/main.c
385 { 398 {
386Index: qemu/linux-user/qemu.h 399Index: qemu/linux-user/qemu.h
387=================================================================== 400===================================================================
388--- qemu.orig/linux-user/qemu.h 2006-08-26 16:28:40.000000000 +0100 401--- qemu.orig/linux-user/qemu.h 2006-11-23 10:38:34.000000000 +0000
389+++ qemu/linux-user/qemu.h 2006-08-26 16:33:50.000000000 +0100 402+++ qemu/linux-user/qemu.h 2006-11-23 10:48:25.000000000 +0000
390@@ -75,6 +75,9 @@ 403@@ -79,6 +79,9 @@ typedef struct TaskState {
391 uint32_t v86mask; 404 int sim_syscalls;
392 #endif 405 #endif
393 int used; /* non zero if used */ 406 int used; /* non zero if used */
394+#ifdef USE_NPTL 407+#ifdef USE_NPTL
@@ -399,8 +412,8 @@ Index: qemu/linux-user/qemu.h
399 } __attribute__((aligned(16))) TaskState; 412 } __attribute__((aligned(16))) TaskState;
400Index: qemu/linux-user/syscall.c 413Index: qemu/linux-user/syscall.c
401=================================================================== 414===================================================================
402--- qemu.orig/linux-user/syscall.c 2006-08-26 16:28:40.000000000 +0100 415--- qemu.orig/linux-user/syscall.c 2006-11-23 10:38:34.000000000 +0000
403+++ qemu/linux-user/syscall.c 2006-08-26 16:31:53.000000000 +0100 416+++ qemu/linux-user/syscall.c 2006-11-23 10:53:48.000000000 +0000
404@@ -66,9 +66,18 @@ 417@@ -66,9 +66,18 @@
405 #include <linux/kd.h> 418 #include <linux/kd.h>
406 419
@@ -417,10 +430,10 @@ Index: qemu/linux-user/syscall.c
417+#define CLONE_NPTL_FLAGS2 0 430+#define CLONE_NPTL_FLAGS2 0
418+#endif 431+#endif
419+ 432+
420 #if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_SPARC) 433 #if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_SPARC) \
434 || defined(TARGET_M68K)
421 /* 16 bit uid wrappers emulation */ 435 /* 16 bit uid wrappers emulation */
422 #define USE_UID16 436@@ -1640,20 +1649,38 @@ int do_modify_ldt(CPUX86State *env, int
423@@ -1602,20 +1611,38 @@
424 thread/process */ 437 thread/process */
425 #define NEW_STACK_SIZE 8192 438 #define NEW_STACK_SIZE 8192
426 439
@@ -460,7 +473,7 @@ Index: qemu/linux-user/syscall.c
460 473
461 if (flags & CLONE_VM) { 474 if (flags & CLONE_VM) {
462 ts = malloc(sizeof(TaskState) + NEW_STACK_SIZE); 475 ts = malloc(sizeof(TaskState) + NEW_STACK_SIZE);
463@@ -1665,16 +1692,60 @@ 476@@ -1709,16 +1736,60 @@ int do_fork(CPUState *env, unsigned int
464 #error unsupported target CPU 477 #error unsupported target CPU
465 #endif 478 #endif
466 new_env->opaque = ts; 479 new_env->opaque = ts;
@@ -525,7 +538,7 @@ Index: qemu/linux-user/syscall.c
525 } 538 }
526 return ret; 539 return ret;
527 } 540 }
528@@ -1918,7 +1989,7 @@ 541@@ -1962,7 +2033,7 @@ long do_syscall(void *cpu_env, int num,
529 ret = do_brk(arg1); 542 ret = do_brk(arg1);
530 break; 543 break;
531 case TARGET_NR_fork: 544 case TARGET_NR_fork:
@@ -534,7 +547,7 @@ Index: qemu/linux-user/syscall.c
534 break; 547 break;
535 case TARGET_NR_waitpid: 548 case TARGET_NR_waitpid:
536 { 549 {
537@@ -2989,7 +3060,8 @@ 550@@ -3033,7 +3104,8 @@ long do_syscall(void *cpu_env, int num,
538 ret = get_errno(fsync(arg1)); 551 ret = get_errno(fsync(arg1));
539 break; 552 break;
540 case TARGET_NR_clone: 553 case TARGET_NR_clone:
@@ -544,7 +557,7 @@ Index: qemu/linux-user/syscall.c
544 break; 557 break;
545 #ifdef __NR_exit_group 558 #ifdef __NR_exit_group
546 /* new thread calls */ 559 /* new thread calls */
547@@ -3339,7 +3411,8 @@ 560@@ -3383,7 +3455,8 @@ long do_syscall(void *cpu_env, int num,
548 #endif 561 #endif
549 #ifdef TARGET_NR_vfork 562 #ifdef TARGET_NR_vfork
550 case TARGET_NR_vfork: 563 case TARGET_NR_vfork:
@@ -554,15 +567,15 @@ Index: qemu/linux-user/syscall.c
554 break; 567 break;
555 #endif 568 #endif
556 #ifdef TARGET_NR_ugetrlimit 569 #ifdef TARGET_NR_ugetrlimit
557@@ -3838,4 +3911,3 @@ 570@@ -3882,4 +3955,3 @@ long do_syscall(void *cpu_env, int num,
558 #endif 571 #endif
559 return ret; 572 return ret;
560 } 573 }
561- 574-
562Index: qemu/target-arm/cpu.h 575Index: qemu/target-arm/cpu.h
563=================================================================== 576===================================================================
564--- qemu.orig/target-arm/cpu.h 2006-03-09 19:18:27.000000000 +0000 577--- qemu.orig/target-arm/cpu.h 2006-11-23 10:38:37.000000000 +0000
565+++ qemu/target-arm/cpu.h 2006-08-26 16:31:53.000000000 +0100 578+++ qemu/target-arm/cpu.h 2006-11-23 10:48:25.000000000 +0000
566@@ -35,6 +35,9 @@ 579@@ -35,6 +35,9 @@
567 #define EXCP_IRQ 5 580 #define EXCP_IRQ 5
568 #define EXCP_FIQ 6 581 #define EXCP_FIQ 6
@@ -573,7 +586,7 @@ Index: qemu/target-arm/cpu.h
573 586
574 /* We currently assume float and double are IEEE single and double 587 /* We currently assume float and double are IEEE single and double
575 precision respectively. 588 precision respectively.
576@@ -85,6 +88,7 @@ 589@@ -85,6 +88,7 @@ typedef struct CPUARMState {
577 uint32_t c9_data; 590 uint32_t c9_data;
578 uint32_t c13_fcse; /* FCSE PID. */ 591 uint32_t c13_fcse; /* FCSE PID. */
579 uint32_t c13_context; /* Context ID. */ 592 uint32_t c13_context; /* Context ID. */
@@ -581,7 +594,7 @@ Index: qemu/target-arm/cpu.h
581 } cp15; 594 } cp15;
582 595
583 /* Internal CPU feature flags. */ 596 /* Internal CPU feature flags. */
584@@ -135,6 +139,15 @@ 597@@ -135,6 +139,15 @@ struct siginfo;
585 int cpu_arm_signal_handler(int host_signum, struct siginfo *info, 598 int cpu_arm_signal_handler(int host_signum, struct siginfo *info,
586 void *puc); 599 void *puc);
587 600
@@ -597,7 +610,7 @@ Index: qemu/target-arm/cpu.h
597 #define CPSR_M (0x1f) 610 #define CPSR_M (0x1f)
598 #define CPSR_T (1 << 5) 611 #define CPSR_T (1 << 5)
599 #define CPSR_F (1 << 6) 612 #define CPSR_F (1 << 6)
600@@ -146,7 +159,11 @@ 613@@ -146,7 +159,11 @@ int cpu_arm_signal_handler(int host_sign
601 #define CPSR_J (1 << 24) 614 #define CPSR_J (1 << 24)
602 #define CPSR_IT_0_1 (3 << 25) 615 #define CPSR_IT_0_1 (3 << 25)
603 #define CPSR_Q (1 << 27) 616 #define CPSR_Q (1 << 27)
@@ -612,9 +625,9 @@ Index: qemu/target-arm/cpu.h
612 /* Return the current CPSR value. */ 625 /* Return the current CPSR value. */
613Index: qemu/target-arm/exec.h 626Index: qemu/target-arm/exec.h
614=================================================================== 627===================================================================
615--- qemu.orig/target-arm/exec.h 2006-03-09 19:18:27.000000000 +0000 628--- qemu.orig/target-arm/exec.h 2005-11-26 10:38:39.000000000 +0000
616+++ qemu/target-arm/exec.h 2006-08-26 16:31:53.000000000 +0100 629+++ qemu/target-arm/exec.h 2006-11-23 10:48:25.000000000 +0000
617@@ -51,8 +51,6 @@ 630@@ -51,8 +51,6 @@ int cpu_arm_handle_mmu_fault (CPUState *
618 631
619 /* In op_helper.c */ 632 /* In op_helper.c */
620 633
@@ -625,9 +638,9 @@ Index: qemu/target-arm/exec.h
625 638
626Index: qemu/target-arm/op.c 639Index: qemu/target-arm/op.c
627=================================================================== 640===================================================================
628--- qemu.orig/target-arm/op.c 2006-08-26 16:28:48.000000000 +0100 641--- qemu.orig/target-arm/op.c 2006-08-26 18:37:27.000000000 +0100
629+++ qemu/target-arm/op.c 2006-08-26 16:31:53.000000000 +0100 642+++ qemu/target-arm/op.c 2006-11-23 10:48:25.000000000 +0000
630@@ -891,6 +891,12 @@ 643@@ -891,6 +891,12 @@ void OPPROTO op_bkpt(void)
631 cpu_loop_exit(); 644 cpu_loop_exit();
632 } 645 }
633 646
@@ -642,9 +655,9 @@ Index: qemu/target-arm/op.c
642 "d" suffix. */ 655 "d" suffix. */
643Index: qemu/target-arm/translate.c 656Index: qemu/target-arm/translate.c
644=================================================================== 657===================================================================
645--- qemu.orig/target-arm/translate.c 2006-08-26 16:28:48.000000000 +0100 658--- qemu.orig/target-arm/translate.c 2006-11-23 10:38:37.000000000 +0000
646+++ qemu/target-arm/translate.c 2006-08-26 16:31:53.000000000 +0100 659+++ qemu/target-arm/translate.c 2006-11-23 10:48:25.000000000 +0000
647@@ -2382,6 +2382,7 @@ 660@@ -2382,6 +2382,7 @@ undef:
648 s->is_jmp = DISAS_JUMP; 661 s->is_jmp = DISAS_JUMP;
649 } 662 }
650 663
@@ -652,7 +665,7 @@ Index: qemu/target-arm/translate.c
652 /* generate intermediate code in gen_opc_buf and gen_opparam_buf for 665 /* generate intermediate code in gen_opc_buf and gen_opparam_buf for
653 basic block 'tb'. If search_pc is TRUE, also generate PC 666 basic block 'tb'. If search_pc is TRUE, also generate PC
654 information for each intermediate instruction. */ 667 information for each intermediate instruction. */
655@@ -2416,6 +2417,15 @@ 668@@ -2416,6 +2417,15 @@ static inline int gen_intermediate_code_
656 nb_gen_labels = 0; 669 nb_gen_labels = 0;
657 lj = -1; 670 lj = -1;
658 do { 671 do {
@@ -671,7 +684,7 @@ Index: qemu/target-arm/translate.c
671Index: qemu/qemu_spinlock.h 684Index: qemu/qemu_spinlock.h
672=================================================================== 685===================================================================
673--- /dev/null 1970-01-01 00:00:00.000000000 +0000 686--- /dev/null 1970-01-01 00:00:00.000000000 +0000
674+++ qemu/qemu_spinlock.h 2006-08-26 16:31:53.000000000 +0100 687+++ qemu/qemu_spinlock.h 2006-11-23 10:48:25.000000000 +0000
675@@ -0,0 +1,182 @@ 688@@ -0,0 +1,182 @@
676+/* 689+/*
677+ * internal execution defines for qemu 690+ * internal execution defines for qemu