Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
0215bd74
Commit
0215bd74
authored
Nov 09, 2002
by
Anton Blanchard
Browse files
Options
Browse Files
Download
Plain Diff
Merge samba.org:/home/anton/ppc64/for-linus-ppc64-new
into samba.org:/home/anton/ppc64/for-linus-ppc64
parents
88abf377
17e3df33
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
377 additions
and
12 deletions
+377
-12
arch/ppc64/Makefile
arch/ppc64/Makefile
+1
-1
arch/ppc64/defconfig
arch/ppc64/defconfig
+11
-6
arch/ppc64/kernel/ioctl32.c
arch/ppc64/kernel/ioctl32.c
+363
-3
include/asm-ppc64/elf.h
include/asm-ppc64/elf.h
+2
-2
No files found.
arch/ppc64/Makefile
View file @
0215bd74
...
...
@@ -16,9 +16,9 @@
KERNELLOAD
=
0xc000000000000000
LDFLAGS
:=
-m
elf64ppc
ARCHBLOBLFLAGS
:=
-I
binary
-O
elf64-powerpc
-B
powerpc
LDFLAGS_vmlinux
=
-Bstatic
\
-e
$(KERNELLOAD)
-Ttext
$(KERNELLOAD)
LDFLAGS_BLOB
:=
--format
binary
--oformat
elf64-powerpc
CFLAGS
:=
$(CFLAGS)
-msoft-float
-pipe
\
-Wno-uninitialized
-mminimal-toc
-mtraceback
=
full
\
-finline-limit-2000
-mcpu
=
power4
...
...
arch/ppc64/defconfig
View file @
0215bd74
...
...
@@ -102,7 +102,6 @@ CONFIG_CHR_DEV_ST=y
# CONFIG_CHR_DEV_OSST is not set
CONFIG_BLK_DEV_SR=y
CONFIG_BLK_DEV_SR_VENDOR=y
CONFIG_SR_EXTRA_DEVS=2
CONFIG_CHR_DEV_SG=y
#
...
...
@@ -183,6 +182,7 @@ CONFIG_PACKET=y
# CONFIG_NETFILTER is not set
CONFIG_FILTER=y
CONFIG_UNIX=y
# CONFIG_NET_KEY is not set
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
# CONFIG_IP_ADVANCED_ROUTER is not set
...
...
@@ -193,6 +193,8 @@ CONFIG_NET_IPIP=y
# CONFIG_ARPD is not set
# CONFIG_INET_ECN is not set
CONFIG_SYN_COOKIES=y
# CONFIG_INET_AH is not set
# CONFIG_INET_ESP is not set
CONFIG_IPV6=m
#
...
...
@@ -218,6 +220,11 @@ CONFIG_IPV6_SCTP__=y
#
# CONFIG_NET_SCHED is not set
#
# Network testing
#
# CONFIG_NET_PKTGEN is not set
#
# Network device support
#
...
...
@@ -455,10 +462,7 @@ CONFIG_RAMFS=y
CONFIG_ISO9660_FS=y
# CONFIG_JOLIET is not set
# CONFIG_ZISOFS is not set
CONFIG_JFS_FS=y
# CONFIG_JFS_POSIX_ACL is not set
# CONFIG_JFS_DEBUG is not set
# CONFIG_JFS_STATISTICS is not set
# CONFIG_JFS_FS is not set
# CONFIG_MINIX_FS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_NTFS_FS is not set
...
...
@@ -476,6 +480,7 @@ CONFIG_EXT2_FS=y
CONFIG_XFS_FS=y
# CONFIG_XFS_RT is not set
# CONFIG_XFS_QUOTA is not set
# CONFIG_XFS_POSIX_ACL is not set
#
# Network File Systems
...
...
@@ -487,7 +492,7 @@ CONFIG_NFS_V3=y
CONFIG_NFS_V4=y
CONFIG_NFSD=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V4=y
# CONFIG_NFSD_V4 is not set
CONFIG_NFSD_TCP=y
CONFIG_SUNRPC=y
CONFIG_LOCKD=y
...
...
arch/ppc64/kernel/ioctl32.c
View file @
0215bd74
...
...
@@ -58,6 +58,7 @@
#include <linux/netdevice.h>
#include <linux/raw.h>
#include <linux/smb_fs.h>
#include <linux/ncp_fs.h>
#include <linux/blkpg.h>
#include <linux/blk.h>
#include <linux/elevator.h>
...
...
@@ -823,12 +824,40 @@ static int hdio_getgeo(unsigned int fd, unsigned int cmd, unsigned long arg)
err
=
sys_ioctl
(
fd
,
HDIO_GETGEO
,
(
unsigned
long
)
&
geo
);
set_fs
(
old_fs
);
if
(
!
err
)
{
err
=
copy_to_user
((
struct
hd_geometry32
*
)
arg
,
&
geo
,
4
);
err
|=
__put_user
(
geo
.
start
,
&
(((
struct
hd_geometry32
*
)
arg
)
->
start
));
if
(
copy_to_user
((
struct
hd_geometry32
*
)
arg
,
&
geo
,
4
)
||
__put_user
(
geo
.
start
,
&
(((
struct
hd_geometry32
*
)
arg
)
->
start
)))
err
=
-
EFAULT
;
}
return
err
?
-
EFAULT
:
0
;
return
err
;
}
struct
hd_big_geometry32
{
unsigned
char
heads
;
unsigned
char
sectors
;
unsigned
int
cylinders
;
u32
start
;
};
static
int
hdio_getgeo_big
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
mm_segment_t
old_fs
=
get_fs
();
struct
hd_big_geometry
geo
;
int
err
;
set_fs
(
KERNEL_DS
);
err
=
sys_ioctl
(
fd
,
cmd
,
(
unsigned
long
)
&
geo
);
set_fs
(
old_fs
);
if
(
!
err
)
{
struct
hd_big_geometry32
*
up
=
(
struct
hd_big_geometry32
*
)
arg
;
if
(
put_user
(
geo
.
heads
,
&
up
->
heads
)
||
__put_user
(
geo
.
sectors
,
&
up
->
sectors
)
||
__put_user
(
geo
.
cylinders
,
&
up
->
cylinders
)
||
__put_user
(((
u32
)
geo
.
start
),
&
up
->
start
))
err
=
-
EFAULT
;
}
return
err
;
}
static
int
hdio_ioctl_trans
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
...
...
@@ -2034,6 +2063,306 @@ static int do_smb_getmountuid(unsigned int fd, unsigned int cmd, unsigned long a
return
err
;
}
struct
ncp_ioctl_request_32
{
unsigned
int
function
;
unsigned
int
size
;
__kernel_caddr_t32
data
;
};
struct
ncp_fs_info_v2_32
{
int
version
;
unsigned
int
mounted_uid
;
unsigned
int
connection
;
unsigned
int
buffer_size
;
unsigned
int
volume_number
;
__u32
directory_id
;
__u32
dummy1
;
__u32
dummy2
;
__u32
dummy3
;
};
struct
ncp_objectname_ioctl_32
{
int
auth_type
;
unsigned
int
object_name_len
;
__kernel_caddr_t32
object_name
;
/* an userspace data, in most cases user name */
};
struct
ncp_privatedata_ioctl_32
{
unsigned
int
len
;
__kernel_caddr_t32
data
;
/* ~1000 for NDS */
};
#define NCP_IOC_NCPREQUEST_32 _IOR('n', 1, struct ncp_ioctl_request_32)
#define NCP_IOC_GETMOUNTUID2_32 _IOW('n', 2, unsigned int)
#define NCP_IOC_GET_FS_INFO_V2_32 _IOWR('n', 4, struct ncp_fs_info_v2_32)
#define NCP_IOC_GETOBJECTNAME_32 _IOWR('n', 9, struct ncp_objectname_ioctl_32)
#define NCP_IOC_SETOBJECTNAME_32 _IOR('n', 9, struct ncp_objectname_ioctl_32)
#define NCP_IOC_GETPRIVATEDATA_32 _IOWR('n', 10, struct ncp_privatedata_ioctl_32)
#define NCP_IOC_SETPRIVATEDATA_32 _IOR('n', 10, struct ncp_privatedata_ioctl_32)
static
int
do_ncp_ncprequest
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
struct
ncp_ioctl_request_32
n32
;
struct
ncp_ioctl_request
n
;
mm_segment_t
old_fs
;
int
err
;
if
(
copy_from_user
(
&
n32
,
(
struct
ncp_ioctl_request_32
*
)
arg
,
sizeof
(
n32
)))
return
-
EFAULT
;
n
.
function
=
n32
.
function
;
n
.
size
=
n32
.
size
;
if
(
n
.
size
>
65536
)
return
-
EINVAL
;
n
.
data
=
vmalloc
(
65536
);
/* 65536 must be same as NCP_PACKET_SIZE_INTERNAL in ncpfs */
if
(
!
n
.
data
)
return
-
ENOMEM
;
err
=
-
EFAULT
;
if
(
copy_from_user
(
n
.
data
,
(
void
*
)
A
(
n32
.
data
),
n
.
size
))
goto
out
;
old_fs
=
get_fs
();
set_fs
(
KERNEL_DS
);
err
=
sys_ioctl
(
fd
,
NCP_IOC_NCPREQUEST
,
(
unsigned
long
)
&
n
);
set_fs
(
old_fs
);
if
(
err
<=
0
)
goto
out
;
if
(
err
>
65536
)
{
err
=
-
EINVAL
;
goto
out
;
}
if
(
copy_to_user
((
void
*
)
A
(
n32
.
data
),
n
.
data
,
err
))
{
err
=
-
EFAULT
;
goto
out
;
}
out:
vfree
(
n
.
data
);
return
err
;
}
static
int
do_ncp_getmountuid2
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
mm_segment_t
old_fs
=
get_fs
();
__kernel_uid_t
kuid
;
int
err
;
cmd
=
NCP_IOC_GETMOUNTUID2
;
set_fs
(
KERNEL_DS
);
err
=
sys_ioctl
(
fd
,
cmd
,
(
unsigned
long
)
&
kuid
);
set_fs
(
old_fs
);
if
(
!
err
)
err
=
put_user
(
kuid
,
(
unsigned
int
*
)
arg
);
return
err
;
}
static
int
do_ncp_getfsinfo2
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
mm_segment_t
old_fs
=
get_fs
();
struct
ncp_fs_info_v2_32
n32
;
struct
ncp_fs_info_v2
n
;
int
err
;
if
(
copy_from_user
(
&
n32
,
(
struct
ncp_fs_info_v2_32
*
)
arg
,
sizeof
(
n32
)))
return
-
EFAULT
;
if
(
n32
.
version
!=
NCP_GET_FS_INFO_VERSION_V2
)
return
-
EINVAL
;
n
.
version
=
NCP_GET_FS_INFO_VERSION_V2
;
set_fs
(
KERNEL_DS
);
err
=
sys_ioctl
(
fd
,
NCP_IOC_GET_FS_INFO_V2
,
(
unsigned
long
)
&
n
);
set_fs
(
old_fs
);
if
(
!
err
)
{
n32
.
version
=
n
.
version
;
n32
.
mounted_uid
=
n
.
mounted_uid
;
n32
.
connection
=
n
.
connection
;
n32
.
buffer_size
=
n
.
buffer_size
;
n32
.
volume_number
=
n
.
volume_number
;
n32
.
directory_id
=
n
.
directory_id
;
n32
.
dummy1
=
n
.
dummy1
;
n32
.
dummy2
=
n
.
dummy2
;
n32
.
dummy3
=
n
.
dummy3
;
err
=
copy_to_user
((
struct
ncp_fs_info_v2_32
*
)
arg
,
&
n32
,
sizeof
(
n32
))
?
-
EFAULT
:
0
;
}
return
err
;
}
static
int
do_ncp_getobjectname
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
struct
ncp_objectname_ioctl_32
n32
;
struct
ncp_objectname_ioctl
n
;
mm_segment_t
old_fs
;
int
err
;
size_t
tl
;
if
(
copy_from_user
(
&
n32
,
(
struct
ncp_objectname_ioctl_32
*
)
arg
,
sizeof
(
n32
)))
return
-
EFAULT
;
n
.
object_name_len
=
tl
=
n32
.
object_name_len
;
if
(
tl
)
{
n
.
object_name
=
kmalloc
(
tl
,
GFP_KERNEL
);
if
(
!
n
.
object_name
)
return
-
ENOMEM
;
}
else
{
n
.
object_name
=
NULL
;
}
old_fs
=
get_fs
();
set_fs
(
KERNEL_DS
);
err
=
sys_ioctl
(
fd
,
NCP_IOC_GETOBJECTNAME
,
(
unsigned
long
)
&
n
);
set_fs
(
old_fs
);
if
(
err
)
goto
out
;
if
(
tl
>
n
.
object_name_len
)
tl
=
n
.
object_name_len
;
err
=
-
EFAULT
;
if
(
tl
&&
copy_to_user
((
void
*
)
A
(
n32
.
object_name
),
n
.
object_name
,
tl
))
goto
out
;
n32
.
auth_type
=
n
.
auth_type
;
n32
.
object_name_len
=
n
.
object_name_len
;
if
(
copy_to_user
((
struct
ncp_objectname_ioctl_32
*
)
arg
,
&
n32
,
sizeof
(
n32
)))
goto
out
;
err
=
0
;
out:
if
(
n
.
object_name
)
kfree
(
n
.
object_name
);
return
err
;
}
static
int
do_ncp_setobjectname
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
struct
ncp_objectname_ioctl_32
n32
;
struct
ncp_objectname_ioctl
n
;
mm_segment_t
old_fs
;
int
err
;
size_t
tl
;
if
(
copy_from_user
(
&
n32
,
(
struct
ncp_objectname_ioctl_32
*
)
arg
,
sizeof
(
n32
)))
return
-
EFAULT
;
n
.
auth_type
=
n32
.
auth_type
;
n
.
object_name_len
=
tl
=
n32
.
object_name_len
;
if
(
tl
)
{
n
.
object_name
=
kmalloc
(
tl
,
GFP_KERNEL
);
if
(
!
n
.
object_name
)
return
-
ENOMEM
;
err
=
-
EFAULT
;
if
(
copy_from_user
(
n
.
object_name
,
(
void
*
)
A
(
n32
.
object_name
),
tl
))
goto
out
;
}
else
{
n
.
object_name
=
NULL
;
}
old_fs
=
get_fs
();
set_fs
(
KERNEL_DS
);
err
=
sys_ioctl
(
fd
,
NCP_IOC_SETOBJECTNAME
,
(
unsigned
long
)
&
n
);
set_fs
(
old_fs
);
out:
if
(
n
.
object_name
)
kfree
(
n
.
object_name
);
return
err
;
}
static
int
do_ncp_getprivatedata
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
struct
ncp_privatedata_ioctl_32
n32
;
struct
ncp_privatedata_ioctl
n
;
mm_segment_t
old_fs
;
int
err
;
size_t
tl
;
if
(
copy_from_user
(
&
n32
,
(
struct
ncp_privatedata_ioctl_32
*
)
arg
,
sizeof
(
n32
)))
return
-
EFAULT
;
n
.
len
=
tl
=
n32
.
len
;
if
(
tl
)
{
n
.
data
=
kmalloc
(
tl
,
GFP_KERNEL
);
if
(
!
n
.
data
)
return
-
ENOMEM
;
}
else
{
n
.
data
=
NULL
;
}
old_fs
=
get_fs
();
set_fs
(
KERNEL_DS
);
err
=
sys_ioctl
(
fd
,
NCP_IOC_GETPRIVATEDATA
,
(
unsigned
long
)
&
n
);
set_fs
(
old_fs
);
if
(
err
)
goto
out
;
if
(
tl
>
n
.
len
)
tl
=
n
.
len
;
err
=
-
EFAULT
;
if
(
tl
&&
copy_to_user
((
void
*
)
A
(
n32
.
data
),
n
.
data
,
tl
))
goto
out
;
n32
.
len
=
n
.
len
;
if
(
copy_to_user
((
struct
ncp_privatedata_ioctl_32
*
)
arg
,
&
n32
,
sizeof
(
n32
)))
goto
out
;
err
=
0
;
out:
if
(
n
.
data
)
kfree
(
n
.
data
);
return
err
;
}
static
int
do_ncp_setprivatedata
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
struct
ncp_privatedata_ioctl_32
n32
;
struct
ncp_privatedata_ioctl
n
;
mm_segment_t
old_fs
;
int
err
;
size_t
tl
;
if
(
copy_from_user
(
&
n32
,
(
struct
ncp_privatedata_ioctl_32
*
)
arg
,
sizeof
(
n32
)))
return
-
EFAULT
;
n
.
len
=
tl
=
n32
.
len
;
if
(
tl
)
{
n
.
data
=
kmalloc
(
tl
,
GFP_KERNEL
);
if
(
!
n
.
data
)
return
-
ENOMEM
;
err
=
-
EFAULT
;
if
(
copy_from_user
(
n
.
data
,
(
void
*
)
A
(
n32
.
data
),
tl
))
goto
out
;
}
else
{
n
.
data
=
NULL
;
}
old_fs
=
get_fs
();
set_fs
(
KERNEL_DS
);
err
=
sys_ioctl
(
fd
,
NCP_IOC_SETPRIVATEDATA
,
(
unsigned
long
)
&
n
);
set_fs
(
old_fs
);
out:
if
(
n
.
data
)
kfree
(
n
.
data
);
return
err
;
}
struct
atmif_sioc32
{
int
number
;
int
length
;
...
...
@@ -3848,6 +4177,18 @@ COMPATIBLE_IOCTL(RAW_SETBIND),
COMPATIBLE_IOCTL
(
RAW_GETBIND
),
/* SMB ioctls which do not need any translations */
COMPATIBLE_IOCTL
(
SMB_IOC_NEWCONN
),
/* NCP ioctls which do not need any translations */
COMPATIBLE_IOCTL
(
NCP_IOC_CONN_LOGGED_IN
),
COMPATIBLE_IOCTL
(
NCP_IOC_SIGN_INIT
),
COMPATIBLE_IOCTL
(
NCP_IOC_SIGN_WANTED
),
COMPATIBLE_IOCTL
(
NCP_IOC_SET_SIGN_WANTED
),
COMPATIBLE_IOCTL
(
NCP_IOC_LOCKUNLOCK
),
COMPATIBLE_IOCTL
(
NCP_IOC_GETROOT
),
COMPATIBLE_IOCTL
(
NCP_IOC_SETROOT
),
COMPATIBLE_IOCTL
(
NCP_IOC_GETCHARSETS
),
COMPATIBLE_IOCTL
(
NCP_IOC_SETCHARSETS
),
COMPATIBLE_IOCTL
(
NCP_IOC_GETDENTRYTTL
),
COMPATIBLE_IOCTL
(
NCP_IOC_SETDENTRYTTL
),
/* Little a */
COMPATIBLE_IOCTL
(
ATMSIGD_CTRL
),
COMPATIBLE_IOCTL
(
ATMARPD_CTRL
),
...
...
@@ -3903,10 +4244,20 @@ COMPATIBLE_IOCTL(RNDCLEARPOOL),
COMPATIBLE_IOCTL
(
HCIDEVUP
),
COMPATIBLE_IOCTL
(
HCIDEVDOWN
),
COMPATIBLE_IOCTL
(
HCIDEVRESET
),
COMPATIBLE_IOCTL
(
HCIDEVRESTAT
),
COMPATIBLE_IOCTL
(
HCIGETDEVLIST
),
COMPATIBLE_IOCTL
(
HCIGETDEVINFO
),
COMPATIBLE_IOCTL
(
HCIGETCONNLIST
),
COMPATIBLE_IOCTL
(
HCIGETCONNINFO
),
COMPATIBLE_IOCTL
(
HCISETRAW
),
COMPATIBLE_IOCTL
(
HCISETSCAN
),
COMPATIBLE_IOCTL
(
HCISETAUTH
),
COMPATIBLE_IOCTL
(
HCISETENCRYPT
),
COMPATIBLE_IOCTL
(
HCISETPTYPE
),
COMPATIBLE_IOCTL
(
HCISETLINKPOL
),
COMPATIBLE_IOCTL
(
HCISETLINKMODE
),
COMPATIBLE_IOCTL
(
HCISETACLMTU
),
COMPATIBLE_IOCTL
(
HCISETSCOMTU
),
COMPATIBLE_IOCTL
(
HCIINQUIRY
),
COMPATIBLE_IOCTL
(
PCIIOC_CONTROLLER
),
COMPATIBLE_IOCTL
(
PCIIOC_MMAP_IS_IO
),
...
...
@@ -4001,6 +4352,7 @@ HANDLE_IOCTL(SIOCDELRT, routing_ioctl),
HANDLE_IOCTL
(
SIOCRTMSG
,
ret_einval
),
HANDLE_IOCTL
(
SIOCGSTAMP
,
do_siocgstamp
),
HANDLE_IOCTL
(
HDIO_GETGEO
,
hdio_getgeo
),
HANDLE_IOCTL
(
HDIO_GETGEO_BIG_RAW
,
hdio_getgeo_big
),
HANDLE_IOCTL
(
BLKGETSIZE
,
w_long
),
HANDLE_IOCTL
(
0x1260
,
broken_blkgetsize
),
HANDLE_IOCTL
(
BLKSECTGET
,
w_long
),
...
...
@@ -4061,6 +4413,14 @@ HANDLE_IOCTL(VIDIOCGFREQ32, do_video_ioctl),
HANDLE_IOCTL
(
VIDIOCSFREQ32
,
do_video_ioctl
),
/* One SMB ioctl needs translations. */
HANDLE_IOCTL
(
SMB_IOC_GETMOUNTUID_32
,
do_smb_getmountuid
),
/* NCPFS */
HANDLE_IOCTL
(
NCP_IOC_NCPREQUEST_32
,
do_ncp_ncprequest
),
HANDLE_IOCTL
(
NCP_IOC_GETMOUNTUID2_32
,
do_ncp_getmountuid2
),
HANDLE_IOCTL
(
NCP_IOC_GET_FS_INFO_V2_32
,
do_ncp_getfsinfo2
),
HANDLE_IOCTL
(
NCP_IOC_GETOBJECTNAME_32
,
do_ncp_getobjectname
),
HANDLE_IOCTL
(
NCP_IOC_SETOBJECTNAME_32
,
do_ncp_setobjectname
),
HANDLE_IOCTL
(
NCP_IOC_GETPRIVATEDATA_32
,
do_ncp_getprivatedata
),
HANDLE_IOCTL
(
NCP_IOC_SETPRIVATEDATA_32
,
do_ncp_setprivatedata
),
HANDLE_IOCTL
(
ATM_GETLINKRATE32
,
do_atm_ioctl
),
HANDLE_IOCTL
(
ATM_GETNAMES32
,
do_atm_ioctl
),
HANDLE_IOCTL
(
ATM_GETTYPE32
,
do_atm_ioctl
),
...
...
include/asm-ppc64/elf.h
View file @
0215bd74
...
...
@@ -57,9 +57,9 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
#define ELF_ET_DYN_BASE (0x08000000)
/* Common routine for both 32-bit and 64-bit processes */
#define ELF_CORE_COPY_REGS(gregs, regs) elf_core_copy_regs(gregs, regs);
#define ELF_CORE_COPY_REGS(gregs, regs)
ppc64_
elf_core_copy_regs(gregs, regs);
static
inline
void
elf_core_copy_regs
(
elf_gregset_t
dstRegs
,
struct
pt_regs
*
srcRegs
)
ppc64_
elf_core_copy_regs
(
elf_gregset_t
dstRegs
,
struct
pt_regs
*
srcRegs
)
{
int
i
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment