Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						c632ea1dd9 
					 
					
						
						
							
							linux-user/syscall: Remove hardcoded tabs (code style)  
						
						... 
						
						
						
						We are going to move this code, fix its style first.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20210704183755.655002-12-f4bug@amsat.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-07-07 21:34:21 +02:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						04b853935f 
					 
					
						
						
							
							linux-user/alpha: Remove hardcoded tabs (code style)  
						
						... 
						
						
						
						We are going to move this code, fix its style first.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210704183755.655002-7-f4bug@amsat.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-07-07 21:30:38 +02:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						bc3359f739 
					 
					
						
						
							
							linux-user/mips: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN  
						
						... 
						
						
						
						Linux kernel defines EWOULDBLOCK as EAGAIN (since before v2.6.12-rc2).
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210704183755.655002-4-f4bug@amsat.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-07-07 21:26:46 +02:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						db10481c00 
					 
					
						
						
							
							linux-user/hppa: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN  
						
						... 
						
						
						
						Linux kernel defines EWOULDBLOCK as EAGAIN (since before v2.6.12-rc2).
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210704183755.655002-3-f4bug@amsat.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-07-07 21:26:03 +02:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						f5f35cec5a 
					 
					
						
						
							
							linux-user/alpha: Handle TARGET_EWOULDBLOCK as TARGET_EAGAIN  
						
						... 
						
						
						
						Linux kernel defines EWOULDBLOCK as EAGAIN (since before v2.6.12-rc2).
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210704183755.655002-2-f4bug@amsat.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-07-07 21:25:10 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						a46955ff61 
					 
					
						
						
							
							linux-user: Fix style problems in linuxload.c  
						
						... 
						
						
						
						Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210706234932.356913-3-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-07-07 21:22:35 +02:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						7aa9fe3a52 
					 
					
						
						
							
							linux-user: fill ppid field in /proc/self/stat  
						
						... 
						
						
						
						Signed-off-by: Andreas Schwab <schwab@suse.de >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <mvmwnqnef5g.fsf@suse.de >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-07-07 21:16:58 +02:00 
						 
				 
			
				
					
						
							
							
								Kito Cheng 
							
						 
					 
					
						
						
							
						
						cb46938c45 
					 
					
						
						
							
							linux-user/elfload: Implement ELF_HWCAP for RISC-V  
						
						... 
						
						
						
						Set I, M, A, F, D and C bit for hwcap if misa is set.
Signed-off-by: Kito Cheng <kito.cheng@sifive.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-Id: <20210706035015.122899-1-kito.cheng@sifive.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-07-07 21:14:47 +02:00 
						 
				 
			
				
					
						
							
							
								Peter Maydell 
							
						 
					 
					
						
						
							
						
						b22726abdf 
					 
					
						
						
							
							Merge remote-tracking branch 'remotes/vivier2/tags/linux-user-for-6.1-pull-request' into staging  
						
						... 
						
						
						
						Linux-user pull request 20210621
# gpg: Signature made Mon 21 Jun 2021 12:03:53 BST
# gpg:                using RSA key CD2F75DDC8E3A4DC2E4F5173F30C38BD3F2FBE3C
# gpg:                issuer "laurent@vivier.eu "
# gpg: Good signature from "Laurent Vivier <lvivier@redhat.com >" [full]
# gpg:                 aka "Laurent Vivier <laurent@vivier.eu >" [full]
# gpg:                 aka "Laurent Vivier (Red Hat) <lvivier@redhat.com >" [full]
# Primary key fingerprint: CD2F 75DD C8E3 A4DC 2E4F  5173 F30C 38BD 3F2F BE3C
* remotes/vivier2/tags/linux-user-for-6.1-pull-request:
  linux-user: Use public sigev_notify_thread_id member if available
  linux-user: Fix incorrect use of feature-test-macros
  linux-user: Check for ieee128 fpbits in PPC64 HWCAP2 feature list
  tests/tcg/linux-test: Check that sigaction can query SIGKILL/SIGSTOP
  linux-user: Let sigaction query SIGKILL/SIGSTOP
  linux-user: Implement pivot_root
  linux-user/trace-events: fix minor typo in format string
  linux-user: Disable static assert involving __SIGRTMAX if it is missing
  linux-user: Set CF_PARALLEL when mapping shared memory
Signed-off-by: Peter Maydell <peter.maydell@linaro.org > 
						
						
					 
					
						2021-06-22 16:07:53 +01:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						10b81272b3 
					 
					
						
						
							
							linux-user/s390x: Save and restore psw.mask properly  
						
						... 
						
						
						
						At present, we're referencing env->psw.mask directly, which
fails to ensure that env->cc_op is incorporated or updated.
Use s390_cpu_{set_psw,get_psw_mask} to fix this.
Mirror the kernel's cleaning of the psw.mask in save_sigregs
and restore_sigregs.  Ignore PSW_MASK_RI for now, as qemu does
not support that.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: David Hildenbrand <david@redhat.com >
Tested-by: jonathan.albrecht <jonathan.albrecht@linux.vnet.ibm.com >
Tested-by: <ruixin.bao@ibm.com >
Message-Id: <20210615030744.1252385-6-richard.henderson@linaro.org >
Signed-off-by: Cornelia Huck <cohuck@redhat.com > 
						
						
					 
					
						2021-06-21 08:48:21 +02:00 
						 
				 
			
				
					
						
							
							
								David Hildenbrand 
							
						 
					 
					
						
						
							
						
						da215c2394 
					 
					
						
						
							
							linux-user: elf: s390x: Prepare for Vector enhancements facility  
						
						... 
						
						
						
						Let's check for S390_FEAT_VECTOR_ENH and set HWCAP_S390_VXRS_EXT
accordingly. Add all missing HWCAP defined in upstream Linux.
Cc: Laurent Vivier <laurent@vivier.eu >
Acked-by: Laurent Vivier <laurent@vivier.eu >
Signed-off-by: David Hildenbrand <david@redhat.com >
Message-Id: <20210608092337.12221-25-david@redhat.com >
Signed-off-by: Cornelia Huck <cohuck@redhat.com > 
						
						
					 
					
						2021-06-21 08:48:21 +02:00 
						 
				 
			
				
					
						
							
							
								Michael Forney 
							
						 
					 
					
						
						
							
						
						96ff758c6e 
					 
					
						
						
							
							linux-user: Use public sigev_notify_thread_id member if available  
						
						... 
						
						
						
						_sigev_un._tid is an internal glibc field and is not available on
musl libc. The sigevent(7) man page and Linux UAPI headers both use
sigev_notify_thread_id as a public way to access this field.
musl libc supports this field since 1.2.2[0], and glibc plans to
add support as well[1][2].
If sigev_notify_thread_id is not available, fall back to _sigev_un._tid
as before.
[0] http://git.musl-libc.org/cgit/musl/commit/?id=7c71792e87691451f2a6b76348e83ad1889f1dcb 
[1] https://www.openwall.com/lists/musl/2019/08/01/5 
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=27417 
Signed-off-by: Michael Forney <mforney@mforney.org >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <20210526035556.7931-1-mforney@mforney.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-06-20 16:41:47 +02:00 
						 
				 
			
				
					
						
							
							
								Michael Forney 
							
						 
					 
					
						
						
							
						
						febf6fade6 
					 
					
						
						
							
							linux-user: Fix incorrect use of feature-test-macros  
						
						... 
						
						
						
						The _POSIX_C_SOURCE and _XOPEN_SOURCE macros are used by the
application to indicate to libc which declarations it should expose.
Since qemu does not define them anywhere, it does not make sense
to check their value.
Instead, since the intent is to determine whether the host struct
stat supports the st_*tim fields, use the configure test result
which does exactly that.
Signed-off-by: Michael Forney <mforney@mforney.org >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <20210526035531.7871-1-mforney@mforney.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-06-20 16:40:11 +02:00 
						 
				 
			
				
					
						
							
							
								Khem Raj 
							
						 
					 
					
						
						
							
						
						8a589aeb27 
					 
					
						
						
							
							linux-user: Check for ieee128 fpbits in PPC64 HWCAP2 feature list  
						
						... 
						
						
						
						glibc 2.34 is now checking for this in hwcaps at
runtime [1] and failing to run the binary if machine
does not support 128bit IEEE fp
Fixes
Fatal glibc error: CPU lacks float128 support (POWER 9 or later required)
[1] https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=d337345ce145e23c5f3a956f349d924fdf54ce2d;hp=eb24865637a271ab7dad13190330105eab0d478d 
Signed-off-by: Khem Raj <raj.khem@gmail.com >
Cc: Florian Weimer <fweimer@redhat.com >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <20210614191729.2981488-1-raj.khem@gmail.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-06-20 16:36:40 +02:00 
						 
				 
			
				
					
						
							
							
								Ilya Leoshkevich 
							
						 
					 
					
						
						
							
						
						ee3500d33a 
					 
					
						
						
							
							linux-user: Let sigaction query SIGKILL/SIGSTOP  
						
						... 
						
						
						
						The kernel allows doing this, so let's allow this in qemu as well.
Valgrind relies on this.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <20210601145600.3131040-2-iii@linux.ibm.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-06-20 16:21:01 +02:00 
						 
				 
			
				
					
						
							
							
								YAMAMOTO Takashi 
							
						 
					 
					
						
						
							
						
						e10fbe8f34 
					 
					
						
						
							
							linux-user: Implement pivot_root  
						
						... 
						
						
						
						Used by runc.
Signed-off-by: YAMAMOTO Takashi <yamamoto@midokura.com >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <20210531055019.10149-6-yamamoto@midokura.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-06-20 16:04:01 +02:00 
						 
				 
			
				
					
						
							
							
								Alex Bennée 
							
						 
					 
					
						
						
							
						
						0e88769704 
					 
					
						
						
							
							linux-user/trace-events: fix minor typo in format string  
						
						... 
						
						
						
						Signed-off-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <20210614144245.17660-1-alex.bennee@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-06-17 16:09:11 +02:00 
						 
				 
			
				
					
						
							
							
								Michael Forney 
							
						 
					 
					
						
						
							
						
						144bff0304 
					 
					
						
						
							
							linux-user: Disable static assert involving __SIGRTMAX if it is missing  
						
						... 
						
						
						
						This check is to ensure that the loop in signal_table_init() from
SIGRTMIN to SIGRTMAX falls within the bounds of host_to_target_signal_table
(_NSIG). However, it is not critical, since _NSIG is already defined
to be the one larger than the largest signal supported by the system
(as specified in the upcoming POSIX revision[0]).
musl libc does not define __SIGRTMAX, so disabling this check when
it is missing fixes one of the last remaining errors when building
qemu.
[0] https://www.austingroupbugs.net/view.php?id=741 
Signed-off-by: Michael Forney <mforney@mforney.org >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <20210526190203.4255-1-mforney@mforney.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-06-15 08:38:18 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						228168cbb7 
					 
					
						
						
							
							linux-user: Set CF_PARALLEL when mapping shared memory  
						
						... 
						
						
						
						Signal the translator to use host atomic instructions for
guest operations, insofar as it is possible.  This is the
best we can do to allow the guest to interact atomically
with other processes.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/121 
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210612060828.695332-1-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-06-15 08:28:56 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						b0a0794a0f 
					 
					
						
						
							
							tcg: Re-order tcg_region_init vs tcg_prologue_init  
						
						... 
						
						
						
						Instead of delaying tcg_region_init until after tcg_prologue_init
is complete, do tcg_region_init first and let tcg_prologue_init
shrink the first region by the size of the generated prologue.
Reviewed-by: Luis Pires <luis.pires@eldorado.org.br >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2021-06-11 09:26:28 -07:00 
						 
				 
			
				
					
						
							
							
								Philippe Mathieu-Daudé 
							
						 
					 
					
						
						
							
						
						180d4ef3ad 
					 
					
						
						
							
							linux-user/syscall: Constify bitmask_transtbl fcntl/mmap flags_tlb[]  
						
						... 
						
						
						
						Keep bitmask_transtbl in .rodata by marking the arrays const.
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Bin Meng <bmeng.cn@gmail.com >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20210517055243.830491-1-f4bug@amsat.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-06-05 21:13:29 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						8da5f1dbb0 
					 
					
						
						
							
							softfloat: Introduce Floatx80RoundPrec  
						
						... 
						
						
						
						Use an enumeration instead of raw 32/64/80 values.
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org > 
						
						
					 
					
						2021-06-03 14:04:02 -07:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						6c47a9053c 
					 
					
						
						
							
							linux-user/aarch64: Enable hwcap bits for bfloat16  
						
						... 
						
						
						
						Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525225817.400336-12-richard.henderson@linaro.org 
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org > 
						
						
					 
					
						2021-06-03 16:43:26 +01:00 
						 
				 
			
				
					
						
							
							
								Stefano Garzarella 
							
						 
					 
					
						
						
							
						
						d0fb9657a3 
					 
					
						
						
							
							docs: fix references to docs/devel/tracing.rst  
						
						... 
						
						
						
						Commit e50caf4a5csgarzare@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-Id: <20210517151702.109066-2-sgarzare@redhat.com >
Signed-off-by: Thomas Huth <thuth@redhat.com > 
						
						
					 
					
						2021-06-02 06:51:09 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						cdc8d8b273 
					 
					
						
						
							
							linux-user/aarch64: Enable hwcap bits for sve2 and related extensions  
						
						... 
						
						
						
						Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20210525010358.152808-92-richard.henderson@linaro.org 
Signed-off-by: Peter Maydell <peter.maydell@linaro.org > 
						
						
					 
					
						2021-05-25 16:01:44 +01:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						6086c751c3 
					 
					
						
						
							
							target/ppc: Replace POWERPC_EXCP_BRANCH with DISAS_NORETURN  
						
						... 
						
						
						
						The translation of branch instructions always results in exit from
the TB. Remove the synthetic "exception" after no more uses.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210517205025.3777947-4-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au > 
						
						
					 
					
						2021-05-19 10:30:29 +10:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						d736de8ff6 
					 
					
						
						
							
							target/ppc: Replace POWERPC_EXCP_STOP with DISAS_EXIT_UPDATE  
						
						... 
						
						
						
						Remove the synthetic "exception" after no more uses.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br >
Message-Id: <20210517205025.3777947-3-matheus.ferst@eldorado.org.br >
Signed-off-by: David Gibson <david@gibson.dropbear.id.au > 
						
						
					 
					
						2021-05-19 10:30:29 +10:00 
						 
				 
			
				
					
						
							
							
								Ilya Leoshkevich 
							
						 
					 
					
						
						
							
						
						4a1e8931ec 
					 
					
						
						
							
							linux-user/elfload: add s390x core dumping support  
						
						... 
						
						
						
						Provide the following definitions required by the common code:
* ELF_NREG: with the value of sizeof(s390_regs) / sizeof(long).
* target_elf_gregset_t: define it like all the other arches do.
* elf_core_copy_regs(): similar to kernel's s390_regs_get().
* USE_ELF_CORE_DUMP.
* ELF_EXEC_PAGESIZE.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com >
Message-Id: <20210413205608.22587-1-iii@linux.ibm.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-18 07:10:46 +02:00 
						 
				 
			
				
					
						
							
							
								Ilya Leoshkevich 
							
						 
					 
					
						
						
							
						
						5f779a3a26 
					 
					
						
						
							
							linux-user/elfload: fix filling psinfo->pr_psargs  
						
						... 
						
						
						
						The current code dumps the memory between arg_start and arg_end,
which contains the argv pointers. This results in the
    Core was generated by `<garbage>`
message when opening the core file in GDB. This is because the code is
supposed to dump the actual arg strings. Fix by using arg_strings and
env_strings instead of arg_start and arg_end.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com >
Message-Id: <20210413205814.22821-1-iii@linux.ibm.com >
[lv: add missing braces]
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-18 07:10:46 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						fb80439b1e 
					 
					
						
						
							
							linux-user: Tidy TARGET_NR_rt_sigaction  
						
						... 
						
						
						
						Initialize variables instead of elses.
Use an else instead of a goto.
Add braces.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20210422230227.314751-8-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-18 07:10:46 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						02d0de101c 
					 
					
						
						
							
							linux-user/alpha: Share code for TARGET_NR_sigaction  
						
						... 
						
						
						
						There's no longer a difference between the alpha code and
the generic code.
There is a type difference in target_old_sigaction.sa_flags,
which can be resolved with a very much smaller ifdef, which
allows us to finish sharing the target_sigaction definition.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210422230227.314751-7-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-18 07:10:46 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						0f6f99032e 
					 
					
						
						
							
							linux-user/alpha: Define TARGET_ARCH_HAS_KA_RESTORER  
						
						... 
						
						
						
						This means that we can share the TARGET_NR_rt_sigaction code,
and the target_rt_sigaction structure is unused.  Untangling
the ifdefs so that target_sigaction can be shared will wait
until the next patch.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210422230227.314751-6-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-18 07:10:45 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						ca192277db 
					 
					
						
						
							
							linux-user: Honor TARGET_ARCH_HAS_SA_RESTORER in do_syscall  
						
						... 
						
						
						
						Do not access a field that may not be present.  This will
become an issue when sharing more code in the next patch.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20210422230227.314751-5-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-18 07:10:45 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						02fb28e8ef 
					 
					
						
						
							
							linux-user: Pass ka_restorer to do_sigaction  
						
						... 
						
						
						
						The value of ka_restorer needs to be saved in sigact_table.
At the moment, the attempt to save it in do_syscall is
improperly clobbering user memory.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210422230227.314751-4-richard.henderson@linaro.org >
[lv: remove tab]
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-18 07:10:32 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						f20a9ca6d0 
					 
					
						
						
							
							linux-user/alpha: Rename the sigaction restorer field  
						
						... 
						
						
						
						Use ka_restorer, in line with TARGET_ARCH_HAS_KA_RESTORER
vs TARGET_ARCH_HAS_SA_RESTORER, since Alpha passes this
field as a syscall argument.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210422230227.314751-3-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-18 07:09:58 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						8f5141a9e1 
					 
					
						
						
							
							linux-user/alpha: Fix rt sigframe return  
						
						... 
						
						
						
						We incorrectly used the offset of the non-rt sigframe.
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Message-Id: <20210422230227.314751-2-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-18 07:09:58 +02:00 
						 
				 
			
				
					
						
							
							
								Daniel P. Berrangé 
							
						 
					 
					
						
						
							
						
						68af19ad72 
					 
					
						
						
							
							linux-user: use GDateTime for formatting timestamp for core file  
						
						... 
						
						
						
						The GDateTime APIs provided by GLib avoid portability pitfalls, such
as some platforms where 'struct timeval.tv_sec' field is still 'long'
instead of 'time_t'. When combined with automatic cleanup, GDateTime
often results in simpler code too.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <20210505103702.521457-7-berrange@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-18 07:09:58 +02:00 
						 
				 
			
				
					
						
							
							
								Giuseppe Musacchio 
							
						 
					 
					
						
						
							
						
						0fa259dd79 
					 
					
						
						
							
							linux-user: Fix erroneous conversion in copy_file_range  
						
						... 
						
						
						
						The implicit cast from abi_long to size_t may introduce an intermediate
unwanted sign-extension of the value for 32bit targets running on 64bit
hosts.
Signed-off-by: Giuseppe Musacchio <thatlemon@gmail.com >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <20210503174159.54302-3-thatlemon@gmail.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-18 07:09:58 +02:00 
						 
				 
			
				
					
						
							
							
								Giuseppe Musacchio 
							
						 
					 
					
						
						
							
						
						db3221454d 
					 
					
						
						
							
							linux-user: Add copy_file_range to strace.list  
						
						... 
						
						
						
						Signed-off-by: Giuseppe Musacchio <thatlemon@gmail.com >
Reviewed-by: Laurent Vivier <laurent@vivier.eu >
Message-Id: <20210503174159.54302-2-thatlemon@gmail.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-18 07:09:58 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						0b16f04c1f 
					 
					
						
						
							
							linux-user/s390x: Handle vector regs in signal stack  
						
						... 
						
						
						
						Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: David Hildenbrand <david@redhat.com >
Message-Id: <20210428193408.233706-16-richard.henderson@linaro.org >
[lv: fix indentation]
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-18 07:09:36 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						79d6f2baa4 
					 
					
						
						
							
							linux-user/s390x: Clean up signal.c  
						
						... 
						
						
						
						Reorder the function bodies to correspond to the kernel source.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: David Hildenbrand <david@redhat.com >
Message-Id: <20210428193408.233706-15-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-15 21:44:38 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						9e0fb648b2 
					 
					
						
						
							
							linux-user/s390x: Add build asserts for sigset sizes  
						
						... 
						
						
						
						At point of usage, it's not immediately obvious that
we don't need a loop to copy these arrays.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: David Hildenbrand <david@redhat.com >
Message-Id: <20210428193408.233706-14-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-15 21:44:38 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						ac1a92ec8f 
					 
					
						
						
							
							linux-user/s390x: Fix frame_addr corruption in setup_frame  
						
						... 
						
						
						
						The original value of frame_addr is still required for
its use in the call to unlock_user_struct below.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: David Hildenbrand <david@redhat.com >
Message-Id: <20210428193408.233706-13-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-15 21:44:38 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						6c18757dc5 
					 
					
						
						
							
							linux-user/s390x: Add stub sigframe argument for last_break  
						
						... 
						
						
						
						In order to properly present these arguments, we need to add
code to target/s390x to record LowCore parameters for user-only.
But in the meantime, at least zero the missing last_break
argument, and fixup the comment style in the vicinity.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: David Hildenbrand <david@redhat.com >
Message-Id: <20210428193408.233706-12-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-15 21:44:38 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						7e5355578e 
					 
					
						
						
							
							linux-user/s390x: Set psw.mask properly for the signal handler  
						
						... 
						
						
						
						Note that PSW_ADDR_{64,32} are called PSW_MASK_{EA,BA}
in the kernel source.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: David Hildenbrand <david@redhat.com >
Message-Id: <20210428193408.233706-11-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-15 21:44:38 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						2080734880 
					 
					
						
						
							
							linux-user/s390x: Clean up single-use gotos in signal.c  
						
						... 
						
						
						
						Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: David Hildenbrand <david@redhat.com >
Message-Id: <20210428193408.233706-10-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-15 21:44:38 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						82839490e4 
					 
					
						
						
							
							linux-user/s390x: Tidy save_sigregs  
						
						... 
						
						
						
						The "save" routines copied from the kernel, which are currently
commented out, are unnecessary in qemu.  We can copy from env
where the kernel needs special instructions.  Fix comment style.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: David Hildenbrand <david@redhat.com >
Message-Id: <20210428193408.233706-9-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-15 21:44:38 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						bb17fc5b47 
					 
					
						
						
							
							linux-user/s390x: Use tswap_sigset in setup_rt_frame  
						
						... 
						
						
						
						Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: David Hildenbrand <david@redhat.com >
Message-Id: <20210428193408.233706-8-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-15 21:44:38 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						4e4a08200b 
					 
					
						
						
							
							linux-user/s390x: Fix sigcontext sregs value  
						
						... 
						
						
						
						Using the host address of &frame->sregs is incorrect.
We need the guest address.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: David Hildenbrand <david@redhat.com >
Message-Id: <20210428193408.233706-7-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-15 21:44:38 +02:00 
						 
				 
			
				
					
						
							
							
								Richard Henderson 
							
						 
					 
					
						
						
							
						
						bd45be9f5f 
					 
					
						
						
							
							linux-user/s390x: Fix trace in restore_regs  
						
						... 
						
						
						
						Directly reading sc->regs.psw.addr misses the bswap
that may be performed by __get_user.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Reviewed-by: David Hildenbrand <david@redhat.com >
Message-Id: <20210428193408.233706-6-richard.henderson@linaro.org >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-15 21:44:38 +02:00