From: James Pellow <james@alentdesignsolutions.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] ARM syscall 186.
Date: Mon, 6 Dec 2004 00:55:49 -0800 [thread overview]
Message-ID: <200412060055.49609.james@alentdesignsolutions.com> (raw)
Hi All,
In the quest for a running gentoo, I found the need for ARM syscall 186. This
is required to get ncurses to install. This seems to work for me, though I
have only tested it in the context of an ncurses install. Let me know if
something isn't right and I will fix it. I spent a bit more time looking at
the proper way to handle things this time, so I am pretty sure this is
actually correct :) Thanks for any feedback. Here is the patch:
------------------------------------------------------------------------------------------------------------
diff -ruN qemu-0.6.1/linux-user/syscall.c qemu-0.6.1_new/linux-user/syscall.c
--- qemu-0.6.1/linux-user/syscall.c 2004-11-14 12:51:33.000000000 -0800
+++ qemu-0.6.1_new/linux-user/syscall.c 2004-12-06 00:05:26.139467848 -0800
@@ -2700,7 +2700,23 @@
case TARGET_NR_capset:
goto unimplemented;
case TARGET_NR_sigaltstack:
- goto unimplemented;
+ {
+ struct target_stack_t *ss_target = (void *)arg1;
+ struct target_stack_t *oss_target = (void *)arg2;
+ stack_t ss, oss;
+
+ ss.ss_sp = (void *)tswapl(ss_target->ss_sp);
+ ss.ss_flags = tswap32(ss_target->ss_flags);
+ ss.ss_size = tswapl(ss_target->ss_size);
+
+ ret = get_errno(sigaltstack(&ss, &oss));
+ if (!is_error(ret) && oss_target != NULL) {
+ oss_target->ss_sp = tswapl((long)oss.ss_sp);
+ oss_target->ss_flags = tswap32(oss.ss_flags);
+ oss_target->ss_size = tswapl(oss.ss_size);
+ }
+ }
+ break;
case TARGET_NR_sendfile:
goto unimplemented;
#ifdef TARGET_NR_getpmsg
diff -ruN qemu-0.6.1/linux-user/syscall_defs.h
qemu-0.6.1_new/linux-user/syscall_defs.h
--- qemu-0.6.1/linux-user/syscall_defs.h 2004-11-14 12:51:33.000000000
-0800
+++ qemu-0.6.1_new/linux-user/syscall_defs.h 2004-12-05 22:40:00.249721536
-0800
@@ -97,6 +97,12 @@
#define TARGET_IOWU(type,nr) TARGET_IOC(TARGET_IOC_WRITE,(type),
(nr),TARGET_IOC_SIZEMASK)
#define TARGET_IOWRU(type,nr) TARGET_IOC(TARGET_IOC_READ|TARGET_IOC_WRITE,
(type),(nr),TARGET_IOC_SIZEMASK)
+struct target_stack_t {
+ target_long ss_sp;
+ int ss_flags;
+ target_long ss_size;
+};
+
struct target_sockaddr {
uint16_t sa_family;
uint8_t sa_data[14];
---------------------------------------------------------------------------------------------------------------
Cheers,
--
*****************************
James A. Pellow, President
Alent Design Solutions
www.alentdesignsolutions.com
(509) 526-0682
*****************************
next reply other threads:[~2004-12-06 9:09 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-12-06 8:55 James Pellow [this message]
2004-12-06 19:45 ` [Qemu-devel] ARM syscall 186 Fabrice Bellard
2004-12-06 20:39 ` James Pellow
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200412060055.49609.james@alentdesignsolutions.com \
--to=james@alentdesignsolutions.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).