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
Kirill Smelkov
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