syscall.c (106ec87921a41752777781f073092301d4477567) syscall.c (e6e5906b6e0a81718066ca43aef57515026c6624)
1/*
2 * Linux syscalls
3 *
4 * Copyright (c) 2003 Fabrice Bellard
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or

--- 55 unchanged lines hidden (view full) ---

64#include <linux/soundcard.h>
65#include <linux/dirent.h>
66#include <linux/kd.h>
67
68#include "qemu.h"
69
70//#define DEBUG
71
1/*
2 * Linux syscalls
3 *
4 * Copyright (c) 2003 Fabrice Bellard
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or

--- 55 unchanged lines hidden (view full) ---

64#include <linux/soundcard.h>
65#include <linux/dirent.h>
66#include <linux/kd.h>
67
68#include "qemu.h"
69
70//#define DEBUG
71
72#if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_SPARC)
72#if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_SPARC) \
73 || defined(TARGET_M68K)
73/* 16 bit uid wrappers emulation */
74#define USE_UID16
75#endif
76
77//#include <linux/msdos_fs.h>
78#define VFAT_IOCTL_READDIR_BOTH _IOR('r', 1, struct dirent [2])
79#define VFAT_IOCTL_READDIR_SHORT _IOR('r', 2, struct dirent [2])
80

--- 1559 unchanged lines hidden (view full) ---

1640 new_env->regs[0] = 0;
1641#elif defined(TARGET_SPARC)
1642 if (!newsp)
1643 newsp = env->regwptr[22];
1644 new_env->regwptr[22] = newsp;
1645 new_env->regwptr[0] = 0;
1646 /* XXXXX */
1647 printf ("HELPME: %s:%d\n", __FILE__, __LINE__);
74/* 16 bit uid wrappers emulation */
75#define USE_UID16
76#endif
77
78//#include <linux/msdos_fs.h>
79#define VFAT_IOCTL_READDIR_BOTH _IOR('r', 1, struct dirent [2])
80#define VFAT_IOCTL_READDIR_SHORT _IOR('r', 2, struct dirent [2])
81

--- 1559 unchanged lines hidden (view full) ---

1641 new_env->regs[0] = 0;
1642#elif defined(TARGET_SPARC)
1643 if (!newsp)
1644 newsp = env->regwptr[22];
1645 new_env->regwptr[22] = newsp;
1646 new_env->regwptr[0] = 0;
1647 /* XXXXX */
1648 printf ("HELPME: %s:%d\n", __FILE__, __LINE__);
1649#elif defined(TARGET_M68K)
1650 if (!newsp)
1651 newsp = env->aregs[7];
1652 new_env->aregs[7] = newsp;
1653 new_env->dregs[0] = 0;
1654 /* ??? is this sufficient? */
1648#elif defined(TARGET_MIPS)
1649 printf ("HELPME: %s:%d\n", __FILE__, __LINE__);
1650#elif defined(TARGET_PPC)
1651 if (!newsp)
1652 newsp = env->gpr[1];
1653 new_env->gpr[1] = newsp;
1654 {
1655 int i;

--- 943 unchanged lines hidden (view full) ---

2599 ret = get_errno(swapon(p, arg2));
2600 unlock_user(p, arg1, 0);
2601 break;
2602 case TARGET_NR_reboot:
2603 goto unimplemented;
2604 case TARGET_NR_readdir:
2605 goto unimplemented;
2606 case TARGET_NR_mmap:
1655#elif defined(TARGET_MIPS)
1656 printf ("HELPME: %s:%d\n", __FILE__, __LINE__);
1657#elif defined(TARGET_PPC)
1658 if (!newsp)
1659 newsp = env->gpr[1];
1660 new_env->gpr[1] = newsp;
1661 {
1662 int i;

--- 943 unchanged lines hidden (view full) ---

2606 ret = get_errno(swapon(p, arg2));
2607 unlock_user(p, arg1, 0);
2608 break;
2609 case TARGET_NR_reboot:
2610 goto unimplemented;
2611 case TARGET_NR_readdir:
2612 goto unimplemented;
2613 case TARGET_NR_mmap:
2607#if defined(TARGET_I386) || defined(TARGET_ARM)
2614#if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_M68K)
2608 {
2609 target_ulong *v;
2610 target_ulong v1, v2, v3, v4, v5, v6;
2611 v = lock_user(arg1, 6 * sizeof(target_ulong), 1);
2612 v1 = tswapl(v[0]);
2613 v2 = tswapl(v[1]);
2614 v3 = tswapl(v[2]);
2615 v4 = tswapl(v[3]);

--- 1226 unchanged lines hidden ---
2615 {
2616 target_ulong *v;
2617 target_ulong v1, v2, v3, v4, v5, v6;
2618 v = lock_user(arg1, 6 * sizeof(target_ulong), 1);
2619 v1 = tswapl(v[0]);
2620 v2 = tswapl(v[1]);
2621 v3 = tswapl(v[2]);
2622 v4 = tswapl(v[3]);

--- 1226 unchanged lines hidden ---