Commit Graph

523 Commits

Author SHA1 Message Date
ths
d0dc7dc327 Make MIPS MT implementation more cache friendly.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3981 c046a42c-6fe2-441c-8c8c-71466251a162
2008-02-12 21:01:26 +00:00
balrog
7bedce8d85 Don't error out on zero-length chunks in writev, as to mimic Linux (Kirill A. Shutemov).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3970 c046a42c-6fe2-441c-8c8c-71466251a162
2008-02-10 13:28:08 +00:00
bellard
41df841110 lock_iovec() fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3967 c046a42c-6fe2-441c-8c8c-71466251a162
2008-02-04 22:26:57 +00:00
ths
7bba1ee81b Fix section switching buglet, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3899 c046a42c-6fe2-441c-8c8c-71466251a162
2008-01-08 14:39:43 +00:00
bellard
68d0f70e3c copyright update
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3893 c046a42c-6fe2-441c-8c8c-71466251a162
2008-01-06 17:21:48 +00:00
balrog
06177d36ed Fix a compiler error with DEBUG_REMAP enabled (Thayne Harbaugh).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3845 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-24 13:47:52 +00:00
ths
6fa13c170c Correct errno return for setsockopt(), by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3839 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-18 02:41:04 +00:00
ths
c02f499e10 Correct errno return for getsockopt(), by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3838 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-18 02:39:59 +00:00
ths
b28c91e6cd m68k missing get_sp_from_cpustate(), by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3836 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-18 01:46:39 +00:00
balrog
b01bcae61c QEMU_STRACE documentation bit by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3822 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-16 13:05:59 +00:00
balrog
50a9569b59 Mark host pages as reserved (Magnus Damm).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3813 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-12 01:16:23 +00:00
balrog
b7d35e6583 sh_serial: enable tx after reset (Magnus Damm).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3811 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-12 00:40:24 +00:00
balrog
ed494d87f7 Add missing break just before execve, by Takashi Yoshii.
Fix a comment typo.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3810 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-11 23:23:52 +00:00
j_mayer
e32448e059 Various linux-user structures and definitions fixes for PowerPC targets.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3800 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-10 08:24:59 +00:00
ths
982f3ab679 Fix execve argc/envc counting, by Takashi Yoshii.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3788 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-09 23:12:55 +00:00
ths
788f5ec40d copy_{to,from}_user_timeval() update, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3780 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-09 02:37:05 +00:00
ths
26edcf41db copy_from_user_fdset() update, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3779 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-09 02:25:24 +00:00
ths
c3b5bc8ab3 SH4: Signal handling for the user space emulator, by Magnus Damm.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3764 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-02 06:31:25 +00:00
ths
03aa197628 Fix for execve syscall, by Kirill A. Shutemov.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3763 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-02 06:28:08 +00:00
j_mayer
325e651fb7 Fix PowerPC 64 stat and statfs structures definitions.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3712 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-21 13:06:54 +00:00
ths
fca743f307 SH4 Fix missing 6th arg of syscall, by "takasi-y".
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3711 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-20 15:22:44 +00:00
j_mayer
b172c56a6d Always make all PowerPC exception definitions visible.
Always make the hypervisor timers available.
Remove all TARGET_PPC64H checks, keeping a few if (0) tests for cases
that cannot be properly handled with the current PowerPC CPU definition.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3656 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-17 01:37:44 +00:00
bellard
2f6196984b suppressed tgetx and tputx (initial patch by Thayne Harbaugh)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3653 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-16 10:46:05 +00:00
bellard
7ded4f523a force correct ppc64 cpu
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3651 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-15 15:37:50 +00:00
bellard
4dbc422b55 x86_64 fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3650 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-15 15:27:03 +00:00
bellard
d2fd1af767 x86_64 linux user emulation
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3646 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-14 18:08:56 +00:00
bellard
6b23f77722 printf format fix
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3645 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-14 18:04:05 +00:00
bellard
8d18e89309 i386 TLS support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3644 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-14 15:18:40 +00:00
bellard
4683b130e5 always define TARGET_ABI32 if 32 bit user
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3643 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-14 15:16:52 +00:00
bellard
a03e2d421e fixed target_mmap() if host page size < TARGET_PAGE_SIZE
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3642 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-14 11:29:07 +00:00
bellard
dae3270c6e suppressed page_unprotect_range() - fixed access_ok()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3641 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-14 10:51:00 +00:00
bellard
3dd98412ba added lock_user() in target_strlen()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3639 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-14 10:17:35 +00:00
j_mayer
3cd7d1ddbb Allow use of SPE extension by all PowerPC targets,
adding gprh registers to store GPR MSBs when GPRs are 32 bits.
Remove not-needed-anymore ppcemb-linux-user target.
Keep ppcemb-softmmu target, which provides 1kB pages support
  and 36 bits physical address space.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3628 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-12 01:56:18 +00:00
bellard
8582a53a34 64 bit cast for dirent64
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3625 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 23:11:36 +00:00
bellard
f8b0aa2559 fixed more invalid pointer usage
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3624 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 23:03:42 +00:00
bellard
28be6234fc user access fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3623 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 22:23:38 +00:00
bellard
1455bf488f 64 bit compilation fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3622 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 22:22:34 +00:00
bellard
459a40172e removed warnings - improved sparc32/64 signal frame setup - disabled x86 frame setup for x86_64
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3608 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 19:45:10 +00:00
bellard
eeeac3f3e3 removed warning
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3607 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 19:34:32 +00:00
bellard
27524dc360 sparc64_[get|set]_context are not meaningful in abi32 mode
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3606 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 19:32:52 +00:00
bellard
29fa23e76d hex numbers must have a leading 0x
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3603 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 17:55:50 +00:00
bellard
0ba22212d5 suppressed invalid TARGET_CMSG_FIRSTHDR macro
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3601 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 17:39:38 +00:00
bellard
5a4a898d81 improved cmsg handling - improved shm memory code
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3600 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 17:39:18 +00:00
bellard
ac2567b59d fixed invalid cast
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3597 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 17:25:52 +00:00
bellard
c16f9ed3ad use correct types
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3596 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 17:23:29 +00:00
bellard
8a4ed7ef48 printf format fixes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3595 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 17:22:48 +00:00
bellard
775b58d8cb removed warnings - fixed arm stack copy bug
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3593 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 16:22:17 +00:00
bellard
9ee1fa2ca9 move get_errno() inside do_fcntl()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3591 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 15:11:19 +00:00
bellard
03acab6618 no longer use get_errno for do_modify_ldt()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3590 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 14:57:14 +00:00
bellard
6c30b07fcc fixed error codes
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3588 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 14:50:32 +00:00
bellard
b67419569b -strace option
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3587 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 14:46:06 +00:00
bellard
579a97f7ff Linux user memory access API change (initial patch by Thayne Harbaugh)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3583 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 14:26:47 +00:00
bellard
aaed909a49 added cpu_model parameter to cpu_init()
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3562 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-10 15:15:54 +00:00
ths
d26bc2118e Clean out the N32 macros from target-mips, and introduce MIPS ABI specific
defines for linux-user.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3556 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-08 18:05:37 +00:00
bellard
ec6338bac3 removed obsolete x86 code copy support
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3551 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-08 14:25:03 +00:00
bellard
abf283372b removed unused code
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3549 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-08 14:01:49 +00:00
bellard
46027c07de added -cpu option for x86 - fixed glibc hack in case the global variables are moved
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3548 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-08 13:56:19 +00:00
ths
f3e3285dcd Fix some compiler warnings.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3520 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-03 15:12:16 +00:00
j_mayer
f10c315f8f Fix incorrect PowerPC instruction fetch exception dump.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3517 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-03 13:22:08 +00:00
ths
89343ecde5 EFAULT - update __get_user() __put_user(), by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3508 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-02 20:24:22 +00:00
ths
80210bcd71 Fix compiler warnings, by Stefan Weil.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3507 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-02 19:08:57 +00:00
ths
3d97b40b05 EFAULT - verify pages are in cache and are read/write, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3506 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-02 19:02:07 +00:00
ths
33189d3115 Add new files fir strace support, missed in earlier commit.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3504 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-01 00:13:36 +00:00
ths
b92c47c1cc Strace for userland emulation, by Stuart Anderson and Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3502 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-01 00:07:38 +00:00
balrog
12bc92ab8a Do not make NETLINK socket connections possible (Alexander Graf).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3488 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-30 21:06:14 +00:00
ths
623a930ec3 Implement missing MIPS supervisor mode bits.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3472 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-28 19:45:05 +00:00
j_mayer
7c58044c0a Fix PowerPC FPSCR update and floating-point exception generation
in most useful cases.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3458 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-27 17:54:30 +00:00
j_mayer
a32ff1ad95 PowerPC user-mode fix: MSR is now entirelly set-up in the cpu_reset routine.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3457 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-27 17:29:35 +00:00
j_mayer
0411a97258 Gprof prooved the PowerPC emulation spent too much time in MSR load and store
routines. Coming back to a raw MSR storage model then speed-up the emulation.
Improve fast MSR updates (wrtee wrteei and mtriee cases).
Share rfi family instructions helpers code to avoid bug in duplicated code.
Allow entering halt mode as the result of a rfi instruction.
Add a new helper_regs.h file to avoid duplication of special registers
 manipulation routines (currently XER and MSR).


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3436 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-25 21:35:50 +00:00
ths
0da46a6e2e Syscall target errno fixes, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3418 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-20 20:23:07 +00:00
j_mayer
f85e9a6870 Use TARGET_ABI_DIR feature to unify PowerPC and PowerPC 64 definitions.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3410 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-18 20:51:49 +00:00
j_mayer
e85e7c6ea4 Use the new TARGET_ABI32 feature to implement a ppc64abi32-linux-user target
(PowerPC 64 running in 32 bits mode).
Use the new TARGET_ABI_DIR feature to implement a ppcemb-linux-user target
  (PowerPC 32 with 64 bits GPRs and vector extensions).


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3409 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-18 19:59:49 +00:00
blueswir1
952a328ff5 SuperSparc MXCC support (Robert Reif)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3397 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-14 16:29:21 +00:00
blueswir1
992f48a036 Support for 32 bit ABI on 64 bit targets (only enabled Sparc64)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3396 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-14 16:27:31 +00:00
j_mayer
c732abe222 Unify '-cpu ?' option.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3380 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-12 06:47:46 +00:00
blueswir1
cb33da57aa Support for executing 32 bit SPARC32PLUS files for Sparc64 user emulator
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3378 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-09 16:34:29 +00:00
ths
c6cda17aca getpriority() shouldn't use libc wrapper, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3376 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-09 03:42:34 +00:00
ths
48733d195b CRIS Linux userland emulation, part 2. By Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3367 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-08 13:36:46 +00:00
ths
e69b406510 CRIS Linux usermode emulation, part 1. By Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3366 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-08 13:35:05 +00:00
j_mayer
3d17787055 Fix host and target longs confusions (continued).
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3345 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-07 16:06:13 +00:00
j_mayer
863cf0b72c Fix confusions between host and target long types.
Fix start_data computation.
Fix auxiliary infos setup.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3344 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-07 15:59:45 +00:00
blueswir1
5bfb56b264 Implement sparc64_[gs]et_context
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3334 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-05 17:01:51 +00:00
j_mayer
1cc8e6f067 We must reset the PowerPC CPU _after_ registering it, as hardware reset
effect is implementation dependant.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3323 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-04 01:54:44 +00:00
j_mayer
56ba31ff0b Fix missing case in the new PowerPC exception model.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3294 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30 15:15:18 +00:00
ths
a5b85f7959 Fix mmap to handle differing host/target page sizes, by Edgar E. Iglesias.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3291 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30 14:32:45 +00:00
ths
0574b6fb10 Add get_sp_from_cpustate implementation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3290 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30 13:49:22 +00:00
ths
540635ba65 Code provision for n32/n64 mips userland emulation. Not functional yet.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3284 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30 01:58:33 +00:00
j_mayer
a062e36c58 Implement the PowerPC alternate time-base, following the 2.04 specification.
Share most code with the time-base management routines.
Remove time-base write routines from user-mode emulation environments.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3277 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-30 00:38:38 +00:00
j_mayer
8bb1f9c51c Provision for x86_64-linux-user target: needs get_sp_from_cpustate
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3262 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 13:12:58 +00:00
j_mayer
e1833e1f96 Rework PowerPC exceptions model to make it more versatile:
* don't use exception vectors as the exception number.
  Use vectors numbers as defined in the PowerPC embedded specification instead
  and extend this model to cover all emulated PowerPC variants exceptions.
* add some missing exceptions definitions, from PowerPC 2.04 specification
  and actual PowerPC implementations.
* add code provision for hypervisor exceptions handling.
* define exception vectors and prefix in CPUPPCState to emulate BookE exception
  vectors without any hacks.
* define per CPU model valid exception vectors.
* handle all known exceptions in user-mode only emulations.
* fix hardware interrupts priorities in most cases.
* change RET_EXCP macros name into GEN_EXCP as they don't return.
* do not stop translation on most instructions that are not defined as
  context-synchronizing in PowerPC specification.
* fix PowerPC 64 jump targets and link register update when in 32 bits mode.
* Fix PowerPC 464 and 464F definitions.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3261 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-29 13:06:16 +00:00
ths
df0d373665 Build fix, ppc64 needs also a get_sp_from_cpustate function now.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3254 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-28 18:45:59 +00:00
ths
198a74de4c Move get_sp_from_cpustate from cpu.h to target_signal.h.
Enable sigaltstack processing for more architectures.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3253 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-27 16:44:32 +00:00
ths
a04e134ad1 linux-user sigaltstack() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3252 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-27 13:57:58 +00:00
j_mayer
4118a97030 memset string pages to zero to avoid putting random data on the stack
that may make some program crash at startup.
Fix unsigned long / target_ulong confusion (more to do).
Fix missing g2h macros.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3249 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-27 04:10:43 +00:00
j_mayer
92a343da3f New ppc64-linux-user target.
Allow use of PowerPC 970 for debugging (softmmu would not run, for now).


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3246 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-27 01:14:15 +00:00
j_mayer
a750fc0b91 Great rework and cleanups to ease PowerPC implementations definitions.
* cleanup cpu.h, removing definitions used only in translate.c/translate_init.c
* add new flags to define instructions sets more precisely
* various changes in MMU models definitions
* add definitions for PowerPC 440/460 support (insns and SPRs).
* add definitions for PowerPC 401/403 and 620 input pins model
* Fix definitions for most PowerPC 401, 403, 405, 440, 601, 602, 603 and 7x0
* Preliminary support for PowerPC 74xx (aka G4) without altivec.
* Code provision for other PowerPC support (7x5, 970, ...).
* New SPR and PVR defined, from PowerPC 2.04 specification and other sources
* Misc code bugs, error messages and styles fixes.
* Update status files for PowerPC cores support.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3244 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-26 23:54:22 +00:00
j_mayer
324071035f Convert syscall arguments and return value from long to int or target_long.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3241 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-26 23:01:49 +00:00
ths
9007f0ef73 linux-user utimensat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3240 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-25 17:50:37 +00:00
ths
b51eaa8218 Check if the hosts defines a symlinkat syscall.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3236 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-25 16:09:22 +00:00
ths
92a34c10b5 linux-user faccessat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3227 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-24 09:27:49 +00:00
ths
814d79771f linux-user fchmodat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3226 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-24 09:26:51 +00:00
ths
5e0ccb18da linux-user readlinkat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3225 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-24 09:26:10 +00:00
ths
f0b6243d5d linux-user symlinkat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3224 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-24 09:25:40 +00:00
ths
64f0ce4c0d linux-user linkat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3223 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-24 09:25:06 +00:00
ths
722183f69b linux-user renameat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3222 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-24 09:24:37 +00:00
ths
8170f56baf linux-user unlinkat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3221 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-24 09:24:11 +00:00
ths
ccfa72b7da linux-user fchownat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3220 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-24 09:23:34 +00:00
ths
75ac37a09b linux-user mknodat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3219 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-24 09:23:05 +00:00
ths
4472ad0dbd linux-user mkdirat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3218 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-24 09:22:32 +00:00
ths
8242483226 linux-user openat() syscall, by Thayne Harbaugh.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3217 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-24 09:21:55 +00:00
ths
8dd77cca03 Update Linux kernel syscall list.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3216 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-24 00:11:26 +00:00
ths
f05d35d26d Sync termbits.h with current Linux kernel.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3215 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-23 23:27:46 +00:00
ths
b9a02beda2 Add new MIPS/Linux syscalls.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3214 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-23 18:07:05 +00:00
ths
2601c356b7 Correct and update mips termbits.h.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3213 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-23 17:55:00 +00:00
j_mayer
7ec93196fa Fix invalid MAP_xxx flags for PowerPC targets.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3184 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-18 21:54:57 +00:00
ths
3b46e62427 find -type f | xargs sed -i 's/[\t ]*$//g' # Yes, again. Note the star in the regex.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3177 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-17 08:09:54 +00:00
ths
3ae4320275 Add some missing checks for host syscalls.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3174 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-16 21:39:48 +00:00
ths
5fafdf24ef find -type f | xargs sed -i 's/[\t ]$//g' # on most files
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3173 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-16 21:08:06 +00:00
ths
ead9360e2f Partial support for 34K multithreading, not functional yet.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3156 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-06 00:18:15 +00:00
ths
b7fe5db7e5 Restore build on older Linux hosts.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3084 c046a42c-6fe2-441c-8c8c-71466251a162
2007-07-23 15:37:46 +00:00
ths
4ce6f8de1a Fix statfs(64) syscall wrapper, by Andreas Schwab.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3082 c046a42c-6fe2-441c-8c8c-71466251a162
2007-07-20 15:54:27 +00:00
ths
4cae1d1639 Tkill support, by Stuart Anderson.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3078 c046a42c-6fe2-441c-8c8c-71466251a162
2007-07-12 11:06:53 +00:00
ths
7f7f7c8463 Sigio fd passing, by Alexander Graf.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3077 c046a42c-6fe2-441c-8c8c-71466251a162
2007-07-12 11:02:46 +00:00
ths
fe8f096b16 Spelling fix, by Stuart Brady.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3076 c046a42c-6fe2-441c-8c8c-71466251a162
2007-07-12 10:59:21 +00:00
ths
aa1f17c18d Spelling fixes, by Stefan Weil.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3066 c046a42c-6fe2-441c-8c8c-71466251a162
2007-07-11 22:48:58 +00:00
blueswir1
1b8dd648bd Fix Sparc64 stat system call
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3053 c046a42c-6fe2-441c-8c8c-71466251a162
2007-07-08 10:08:24 +00:00
blueswir1
7f84a7291b Deliver page faults to program
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3049 c046a42c-6fe2-441c-8c8c-71466251a162
2007-07-07 20:46:41 +00:00
blueswir1
4c1de73d15 Page align brk result like real Linux
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3048 c046a42c-6fe2-441c-8c8c-71466251a162
2007-07-07 20:45:44 +00:00
blueswir1
0774bed180 Fix 64 bit ELF file symbol lookup
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3046 c046a42c-6fe2-441c-8c8c-71466251a162
2007-07-05 13:23:29 +00:00
ths
403f14ef1e Fix environ termination, by Andreas Schwab.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3027 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-27 11:12:42 +00:00
ths
6db45e6519 Use correct data structures for stat syscalls, by Magnus Damm.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3001 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-22 10:15:10 +00:00
ths
072ae847f9 Setup stack properly, fixes wrong argc value problem, by Magnus Damm.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3000 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-22 10:13:51 +00:00
ths
d6eb40f650 Hack to keep wine happy, by Alexander Graf.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2993 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-21 22:55:02 +00:00
ths
4f2b1fe821 Implement set_robust_list, by Alexander Graf.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2992 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-21 21:57:12 +00:00
ths
71455574f7 Implement tgkill, by Alexander Graf.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2991 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-21 21:45:30 +00:00
ths
b12b6a188e Option to drop LD_PRELOAD from emulated environment, by Lauri Leukkunen.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2985 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-17 16:38:39 +00:00
ths
ffb04fcf08 Allow relative paths for the interpreter prefix in linux-user emulation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2984 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-17 15:32:30 +00:00
ths
85b2d44057 Fix alpha user build failure.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2982 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-12 21:22:16 +00:00
ths
0458df2444 Fix typo in comment.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2933 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-03 15:33:32 +00:00
ths
6b078dfd60 Add __mips__to mmap specialcase.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2932 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-03 15:31:32 +00:00
ths
1bc012f65a IPC message translation.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2930 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-03 14:27:49 +00:00
ths
3eb6b04433 Semaphore structure mapping, by Stuart Anderson.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2929 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-03 14:26:27 +00:00
ths
e91c8a7783 Spelling fixes, by Stefan Weil.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2927 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-03 13:35:16 +00:00
ths
2538deb292 Delete leftover Status FPU flag check.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2920 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-01 23:50:45 +00:00
ths
637947f19d linux-user errno mapping, by Stuart Anderson.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2908 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-01 12:09:19 +00:00
ths
c12ab05ca5 Patch for pipe() result handling, by Stuart Anderson.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2907 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-01 11:50:36 +00:00
ths
e35846583b Fix struct stat mapping for MIPS, by Stuart Anderson.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2906 c046a42c-6fe2-441c-8c8c-71466251a162
2007-06-01 11:49:38 +00:00
ths
2b8bdefc3a Sync __target_cmsg_nxthdr implementation with kernel header.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2894 c046a42c-6fe2-441c-8c8c-71466251a162
2007-05-28 21:35:23 +00:00
ths
85aa199ad7 Revert last change, this workaround is long obsolete.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2891 c046a42c-6fe2-441c-8c8c-71466251a162
2007-05-28 20:07:13 +00:00
ths
4020f27707 Fix do_socketcall argument, by Daniel Jacobowitz.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2887 c046a42c-6fe2-441c-8c8c-71466251a162
2007-05-28 14:05:41 +00:00