Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
P
PPSi
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
50
Issues
50
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
PPSi
Commits
c52bb3e1
Commit
c52bb3e1
authored
Feb 11, 2013
by
Alessandro Rubini
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
trivial: arch-bare-i386/: checkpatch fixes
Signed-off-by:
Alessandro Rubini
<
rubini@gnudd.com
>
parent
7255f628
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
145 additions
and
139 deletions
+145
-139
bare-i386.h
arch-bare-i386/bare-i386.h
+69
-66
bare-io.c
arch-bare-i386/bare-io.c
+11
-11
bare-socket.c
arch-bare-i386/bare-socket.c
+20
-21
bare-startup.c
arch-bare-i386/bare-startup.c
+1
-1
bare-timer.c
arch-bare-i386/bare-timer.c
+6
-6
syscalls.c
arch-bare-i386/syscalls.c
+4
-3
syscalls.h
arch-bare-i386/syscalls.h
+34
-31
No files found.
arch-bare-i386/bare-i386.h
View file @
c52bb3e1
...
@@ -34,7 +34,7 @@ extern int sys_send(int fd, void *pkt, int plen, int flags);
...
@@ -34,7 +34,7 @@ extern int sys_send(int fd, void *pkt, int plen, int flags);
extern
int
sys_shutdown
(
int
fd
,
int
flags
);
extern
int
sys_shutdown
(
int
fd
,
int
flags
);
extern
int
sys_close
(
int
fd
);
extern
int
sys_close
(
int
fd
);
extern
int
sys_setsockopt
(
int
fd
,
int
level
,
int
optname
,
const
void
*
optval
,
extern
int
sys_setsockopt
(
int
fd
,
int
level
,
int
optname
,
const
void
*
optval
,
int
optlen
);
int
optlen
);
extern
int
sys_gettimeofday
(
void
*
tv
,
void
*
z
);
extern
int
sys_gettimeofday
(
void
*
tv
,
void
*
z
);
extern
int
sys_settimeofday
(
void
*
tv
,
void
*
z
);
extern
int
sys_settimeofday
(
void
*
tv
,
void
*
z
);
extern
int
sys_adjtimex
(
void
*
tv
);
extern
int
sys_adjtimex
(
void
*
tv
);
...
@@ -84,8 +84,7 @@ struct bare_sockaddr_ll {
...
@@ -84,8 +84,7 @@ struct bare_sockaddr_ll {
/* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx */
/* Setsockoptions(2) level. Thanks to BSD these must match IPPROTO_xxx */
#define SOL_IP 0
#define SOL_IP 0
/* #define SOL_ICMP 1 No-no-no! Due to Linux :-) we cannot use
/* #define SOL_ICMP 1 No-no-no! We cannot use SOL_ICMP=1 */
SOL_ICMP=1 */
#define SOL_TCP 6
#define SOL_TCP 6
#define SOL_UDP 17
#define SOL_UDP 17
#define SOL_IPV6 41
#define SOL_IPV6 41
...
@@ -123,10 +122,10 @@ struct bare_sockaddr_ll {
...
@@ -123,10 +122,10 @@ struct bare_sockaddr_ll {
/* start copy from uapi/linux/if_packet.h */
/* start copy from uapi/linux/if_packet.h */
struct
bare_packet_mreq
{
struct
bare_packet_mreq
{
int
mr_ifindex
;
int
mr_ifindex
;
unsigned
short
mr_type
;
unsigned
short
mr_type
;
unsigned
short
mr_alen
;
unsigned
short
mr_alen
;
unsigned
char
mr_address
[
8
];
unsigned
char
mr_address
[
8
];
};
};
#define PACKET_MR_MULTICAST 0
#define PACKET_MR_MULTICAST 0
...
@@ -176,7 +175,7 @@ struct bare_ethhdr {
...
@@ -176,7 +175,7 @@ struct bare_ethhdr {
struct
bare_timeval
{
struct
bare_timeval
{
unsigned
long
tv_sec
;
unsigned
long
tv_sec
;
unsigned
long
tv_usec
;
unsigned
long
tv_usec
;
unsigned
long
tv_nsec
;
unsigned
long
tv_nsec
;
};
};
#ifndef NULL
#ifndef NULL
...
@@ -188,69 +187,73 @@ struct bare_timeval {
...
@@ -188,69 +187,73 @@ struct bare_timeval {
/*
/*
* Mode codes (timex.mode)
* Mode codes (timex.mode)
*/
*/
#define ADJ_OFFSET 0x0001
/* time offset */
#define ADJ_OFFSET 0x0001
/* time offset */
#define ADJ_FREQUENCY 0x0002
/* frequency offset */
#define ADJ_FREQUENCY 0x0002
/* frequency offset */
#define ADJ_MAXERROR 0x0004
/* maximum time error */
#define ADJ_MAXERROR 0x0004
/* maximum time error */
#define ADJ_ESTERROR 0x0008
/* estimated time error */
#define ADJ_ESTERROR 0x0008
/* estimated time error */
#define ADJ_STATUS 0x0010
/* clock status */
#define ADJ_STATUS 0x0010
/* clock status */
#define ADJ_TIMECONST 0x0020
/* pll time constant */
#define ADJ_TIMECONST 0x0020
/* pll time constant */
#define ADJ_TAI 0x0080
/* set TAI offset */
#define ADJ_TAI 0x0080
/* set TAI offset */
#define ADJ_MICRO 0x1000
/* select microsecond resolution */
#define ADJ_SETOFFSET 0x0100
/* add 'time' to current time */
#define ADJ_NANO 0x2000
/* select nanosecond resolution */
#define ADJ_MICRO 0x1000
/* select microsecond resolution */
#define ADJ_TICK 0x4000
/* tick value */
#define ADJ_NANO 0x2000
/* select nanosecond resolution */
#define ADJ_TICK 0x4000
/* tick value */
#define ADJ_OFFSET_SINGLESHOT 0x8001
/* old-fashioned adjtime */
#define ADJ_OFFSET_SS_READ 0xa001
/* read-only adjtime */
#define ADJ_OFFSET_SINGLESHOT 0x8001
/* old-fashioned adjtime */
#define ADJ_OFFSET_SS_READ 0xa001
/* read-only adjtime */
/* xntp 3.4 compatibility names */
/* xntp 3.4 compatibility names */
#define MOD_OFFSET ADJ_OFFSET
#define MOD_OFFSET ADJ_OFFSET
#define MOD_FREQUENCY ADJ_FREQUENCY
#define MOD_FREQUENCY ADJ_FREQUENCY
#define MOD_MAXERROR ADJ_MAXERROR
#define MOD_MAXERROR ADJ_MAXERROR
#define MOD_ESTERROR ADJ_ESTERROR
#define MOD_ESTERROR ADJ_ESTERROR
#define MOD_STATUS ADJ_STATUS
#define MOD_STATUS ADJ_STATUS
#define MOD_TIMECONST ADJ_TIMECONST
#define MOD_TIMECONST ADJ_TIMECONST
#define MOD_TAI ADJ_TAI
#define MOD_MICRO ADJ_MICRO
#define MOD_NANO ADJ_NANO
struct
bare_timex
{
struct
bare_timex
{
unsigned
int
modes
;
/* mode selector */
unsigned
int
modes
;
/* mode selector */
long
offset
;
/* time offset (usec) */
long
offset
;
/* time offset (usec) */
long
freq
;
/* frequency offset (scaled ppm) */
long
freq
;
/* frequency offset (scaled ppm) */
long
maxerror
;
/* maximum error (usec) */
long
maxerror
;
/* maximum error (usec) */
long
esterror
;
/* estimated error (usec) */
long
esterror
;
/* estimated error (usec) */
int
status
;
/* clock command/status */
int
status
;
/* clock command/status */
long
constant
;
/* pll time constant */
long
constant
;
/* pll time constant */
long
precision
;
/* clock precision (usec) (read only) */
long
precision
;
/* clock precision (usec) (read only) */
long
tolerance
;
/* clock frequency tolerance (ppm)
long
tolerance
;
/* clock frequency tolerance (ppm)
* (read only)
* (read only)
*/
*/
struct
bare_timeval
time
;
/* (read only
) */
struct
bare_timeval
time
;
/* (RO, except for ADJ_SETOFFSET
) */
long
tick
;
/* (modified) usecs between clock ticks */
long
tick
;
/* (modified) usecs between clock ticks */
long
ppsfreq
;
/* pps frequency (scaled ppm) (ro) */
long
ppsfreq
;
/* pps frequency (scaled ppm) (ro) */
long
jitter
;
/* pps jitter (us) (ro) */
long
jitter
;
/* pps jitter (us) (ro) */
int
shift
;
/* interval duration (s) (shift) (ro) */
int
shift
;
/* interval duration (s) (shift) (ro) */
long
stabil
;
/* pps stability (scaled ppm) (ro) */
long
stabil
;
/* pps stability (scaled ppm) (ro) */
long
jitcnt
;
/* jitter limit exceeded (ro) */
long
jitcnt
;
/* jitter limit exceeded (ro) */
long
calcnt
;
/* calibration intervals (ro) */
long
calcnt
;
/* calibration intervals (ro) */
long
errcnt
;
/* calibration errors (ro) */
long
errcnt
;
/* calibration errors (ro) */
long
stbcnt
;
/* stability limit exceeded (ro) */
long
stbcnt
;
/* stability limit exceeded (ro) */
int
tai
;
/* TAI offset (ro) */
int
tai
;
/* TAI offset (ro) */
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
int
:
32
;
};
};
/*
/*
* Copy from <linux/time.h>
* Copy from <linux/time.h>
*
*
* The IDs of the various system clocks (for POSIX.1b interval timers):
* The IDs of the various system clocks (for POSIX.1b interval timers):
*/
*/
#define CLOCK_REALTIME
0
#define CLOCK_REALTIME
0
#define CLOCK_MONOTONIC
1
#define CLOCK_MONOTONIC
1
#define CLOCK_PROCESS_CPUTIME_ID
2
#define CLOCK_PROCESS_CPUTIME_ID
2
#define CLOCK_THREAD_CPUTIME_ID
3
#define CLOCK_THREAD_CPUTIME_ID
3
#define CLOCK_MONOTONIC_RAW
4
#define CLOCK_MONOTONIC_RAW
4
#define CLOCK_REALTIME_COARSE
5
#define CLOCK_REALTIME_COARSE
5
#define CLOCK_MONOTONIC_COARSE
6
#define CLOCK_MONOTONIC_COARSE
6
arch-bare-i386/bare-io.c
View file @
c52bb3e1
...
@@ -71,7 +71,7 @@ int pp_memcmp(const void *cs, const void *ct, int count)
...
@@ -71,7 +71,7 @@ int pp_memcmp(const void *cs, const void *ct, int count)
const
unsigned
char
*
su1
,
*
su2
;
const
unsigned
char
*
su1
,
*
su2
;
int
res
=
0
;
int
res
=
0
;
for
(
su1
=
cs
,
su2
=
ct
;
0
<
count
;
++
su1
,
++
su2
,
count
--
)
for
(
su1
=
cs
,
su2
=
ct
;
0
<
count
;
++
su1
,
++
su2
,
count
--
)
if
((
res
=
*
su1
-
*
su2
)
!=
0
)
if
((
res
=
*
su1
-
*
su2
)
!=
0
)
break
;
break
;
return
res
;
return
res
;
...
@@ -108,21 +108,21 @@ int bare_adj_freq(Integer32 adj)
...
@@ -108,21 +108,21 @@ int bare_adj_freq(Integer32 adj)
{
{
struct
bare_timex
t
;
struct
bare_timex
t
;
if
(
adj
>
PP_ADJ_FREQ_MAX
)
if
(
adj
>
PP_ADJ_FREQ_MAX
)
adj
=
PP_ADJ_FREQ_MAX
;
adj
=
PP_ADJ_FREQ_MAX
;
else
if
(
adj
<
-
PP_ADJ_FREQ_MAX
)
else
if
(
adj
<
-
PP_ADJ_FREQ_MAX
)
adj
=
-
PP_ADJ_FREQ_MAX
;
adj
=
-
PP_ADJ_FREQ_MAX
;
t
.
modes
=
MOD_FREQUENCY
;
t
.
modes
=
MOD_FREQUENCY
;
t
.
freq
=
adj
*
((
1
<<
16
)
/
1000
);
t
.
freq
=
adj
*
((
1
<<
16
)
/
1000
);
return
!
sys_adjtimex
(
&
t
);
return
!
sys_adjtimex
(
&
t
);
}
}
int32_t
pp_set_tstamp
(
TimeInternal
*
t
)
int32_t
pp_set_tstamp
(
TimeInternal
*
t
)
__attribute__
((
alias
(
"bare_set_tstamp"
)));
__attribute__
((
alias
(
"bare_set_tstamp"
)));
void
pp_get_tstamp
(
TimeInternal
*
t
)
void
pp_get_tstamp
(
TimeInternal
*
t
)
__attribute__
((
alias
(
"bare_get_tstamp"
)));
__attribute__
((
alias
(
"bare_get_tstamp"
)));
int
pp_adj_freq
(
Integer32
adj
)
int
pp_adj_freq
(
Integer32
adj
)
__attribute__
((
alias
(
"bare_adj_freq"
)));
__attribute__
((
alias
(
"bare_adj_freq"
)));
arch-bare-i386/bare-socket.c
View file @
c52bb3e1
...
@@ -21,18 +21,17 @@ int bare_recv_packet(struct pp_instance *ppi, void *pkt, int len,
...
@@ -21,18 +21,17 @@ int bare_recv_packet(struct pp_instance *ppi, void *pkt, int len,
pkt
-
NP
(
ppi
)
->
proto_ofst
,
len
,
0
);
pkt
-
NP
(
ppi
)
->
proto_ofst
,
len
,
0
);
}
}
int
bare_send_packet
(
struct
pp_instance
*
ppi
,
void
*
pkt
,
int
len
,
int
bare_send_packet
(
struct
pp_instance
*
ppi
,
void
*
pkt
,
int
len
,
TimeInternal
*
t
,
int
chtype
,
int
use_pdelay_addr
)
TimeInternal
*
t
,
int
chtype
,
int
use_pdelay_addr
)
{
{
struct
bare_ethhdr
*
hdr
;
struct
bare_ethhdr
*
hdr
;
hdr
=
PROTO_HDR
(
pkt
);
hdr
=
PROTO_HDR
(
pkt
);
hdr
->
h_proto
=
htons
(
ETH_P_1588
);
hdr
->
h_proto
=
htons
(
ETH_P_1588
);
if
(
OPTS
(
ppi
)
->
gptp_mode
)
{
if
(
OPTS
(
ppi
)
->
gptp_mode
)
memcpy
(
hdr
->
h_dest
,
PP_PEER_MACADDRESS
,
6
);
memcpy
(
hdr
->
h_dest
,
PP_PEER_MACADDRESS
,
6
);
}
else
{
else
memcpy
(
hdr
->
h_dest
,
PP_MCAST_MACADDRESS
,
6
);
memcpy
(
hdr
->
h_dest
,
PP_MCAST_MACADDRESS
,
6
);
}
/* raw socket implementation always uses gen socket */
/* raw socket implementation always uses gen socket */
memcpy
(
hdr
->
h_source
,
NP
(
ppi
)
->
ch
[
PP_NP_GEN
].
addr
,
6
);
memcpy
(
hdr
->
h_source
,
NP
(
ppi
)
->
ch
[
PP_NP_GEN
].
addr
,
6
);
...
@@ -46,13 +45,13 @@ int bare_send_packet(struct pp_instance *ppi, void *pkt, int len,
...
@@ -46,13 +45,13 @@ int bare_send_packet(struct pp_instance *ppi, void *pkt, int len,
int
pp_recv_packet
(
struct
pp_instance
*
ppi
,
void
*
pkt
,
int
len
,
TimeInternal
*
t
)
int
pp_recv_packet
(
struct
pp_instance
*
ppi
,
void
*
pkt
,
int
len
,
TimeInternal
*
t
)
__attribute__
((
alias
(
"bare_recv_packet"
)));
__attribute__
((
alias
(
"bare_recv_packet"
)));
int
pp_send_packet
(
struct
pp_instance
*
ppi
,
void
*
pkt
,
int
len
,
int
pp_send_packet
(
struct
pp_instance
*
ppi
,
void
*
pkt
,
int
len
,
TimeInternal
*
t
,
int
chtype
,
int
use_pdelay_addr
)
TimeInternal
*
t
,
int
chtype
,
int
use_pdelay_addr
)
__attribute__
((
alias
(
"bare_send_packet"
)));
__attribute__
((
alias
(
"bare_send_packet"
)));
#define SHUT_RD 0
#define SHUT_RD 0
#define SHUT_WR
1
#define SHUT_WR
1
#define SHUT_RDWR
2
#define SHUT_RDWR 2
#define PF_PACKET 17
#define PF_PACKET 17
#define SOCK_RAW 3
#define SOCK_RAW 3
...
@@ -74,7 +73,7 @@ int bare_open_ch(struct pp_instance *ppi, char *ifname)
...
@@ -74,7 +73,7 @@ int bare_open_ch(struct pp_instance *ppi, char *ifname)
pp_diag_fatal
(
ppi
,
"socket()"
,
""
);
pp_diag_fatal
(
ppi
,
"socket()"
,
""
);
sys_close
(
sock
);
sys_close
(
sock
);
return
-
1
;
return
-
1
;
}
}
/* hw interface information */
/* hw interface information */
memset
(
&
ifr
,
0
,
sizeof
(
ifr
));
memset
(
&
ifr
,
0
,
sizeof
(
ifr
));
...
@@ -95,9 +94,9 @@ int bare_open_ch(struct pp_instance *ppi, char *ifname)
...
@@ -95,9 +94,9 @@ int bare_open_ch(struct pp_instance *ppi, char *ifname)
}
}
memcpy
(
NP
(
ppi
)
->
ch
[
PP_NP_GEN
].
addr
,
memcpy
(
NP
(
ppi
)
->
ch
[
PP_NP_GEN
].
addr
,
ifr
.
ifr_ifru
.
ifru_hwaddr
.
sa_data
,
6
);
ifr
.
ifr_ifru
.
ifru_hwaddr
.
sa_data
,
6
);
memcpy
(
NP
(
ppi
)
->
ch
[
PP_NP_EVT
].
addr
,
memcpy
(
NP
(
ppi
)
->
ch
[
PP_NP_EVT
].
addr
,
ifr
.
ifr_ifru
.
ifru_hwaddr
.
sa_data
,
6
);
ifr
.
ifr_ifru
.
ifru_hwaddr
.
sa_data
,
6
);
/* bind */
/* bind */
memset
(
&
addr_ll
,
0
,
sizeof
(
addr_ll
));
memset
(
&
addr_ll
,
0
,
sizeof
(
addr_ll
));
...
@@ -105,7 +104,7 @@ int bare_open_ch(struct pp_instance *ppi, char *ifname)
...
@@ -105,7 +104,7 @@ int bare_open_ch(struct pp_instance *ppi, char *ifname)
addr_ll
.
sll_protocol
=
htons
(
ETH_P_1588
);
addr_ll
.
sll_protocol
=
htons
(
ETH_P_1588
);
addr_ll
.
sll_ifindex
=
iindex
;
addr_ll
.
sll_ifindex
=
iindex
;
if
(
sys_bind
(
sock
,
(
struct
bare_sockaddr
*
)
&
addr_ll
,
if
(
sys_bind
(
sock
,
(
struct
bare_sockaddr
*
)
&
addr_ll
,
sizeof
(
addr_ll
))
<
0
)
{
sizeof
(
addr_ll
))
<
0
)
{
pp_diag_error
(
ppi
,
bare_errno
);
pp_diag_error
(
ppi
,
bare_errno
);
pp_diag_fatal
(
ppi
,
"bind"
,
""
);
pp_diag_fatal
(
ppi
,
"bind"
,
""
);
sys_close
(
sock
);
sys_close
(
sock
);
...
@@ -130,11 +129,11 @@ int bare_open_ch(struct pp_instance *ppi, char *ifname)
...
@@ -130,11 +129,11 @@ int bare_open_ch(struct pp_instance *ppi, char *ifname)
NP
(
ppi
)
->
ch
[
PP_NP_EVT
].
fd
=
sock
;
NP
(
ppi
)
->
ch
[
PP_NP_EVT
].
fd
=
sock
;
/* make timestamps available through recvmsg() -- FIXME: hw? */
/* make timestamps available through recvmsg() -- FIXME: hw? */
sys_setsockopt
(
sock
,
SOL_SOCKET
,
SO_TIMESTAMP
,
sys_setsockopt
(
sock
,
SOL_SOCKET
,
SO_TIMESTAMP
,
&
temp
,
sizeof
(
int
));
&
temp
,
sizeof
(
int
));
return
0
;
return
0
;
}
}
return
-
1
;
return
-
1
;
}
}
...
@@ -144,16 +143,16 @@ int bare_net_init(struct pp_instance *ppi)
...
@@ -144,16 +143,16 @@ int bare_net_init(struct pp_instance *ppi)
ppi
->
buf_out
=
PROTO_PAYLOAD
(
ppi
->
buf_out
);
ppi
->
buf_out
=
PROTO_PAYLOAD
(
ppi
->
buf_out
);
if
(
OPTS
(
ppi
)
->
ethernet_mode
)
{
if
(
OPTS
(
ppi
)
->
ethernet_mode
)
{
PP_PRINTF
(
"bare_net_init IEEE 802.3
\n
"
);
PP_PRINTF
(
"bare_net_init IEEE 802.3
\n
"
);
/* raw sockets implementation always use gen socket */
/* raw sockets implementation always use gen socket */
return
bare_open_ch
(
ppi
,
OPTS
(
ppi
)
->
iface_name
);
return
bare_open_ch
(
ppi
,
OPTS
(
ppi
)
->
iface_name
);
}
}
/* else: UDP */
/* else: UDP */
PP_PRINTF
(
"bare_net_init UDP
\n
"
);
PP_PRINTF
(
"bare_net_init UDP
\n
"
);
return
0
;
return
0
;
}
}
int
pp_net_init
(
struct
pp_instance
*
ppi
)
int
pp_net_init
(
struct
pp_instance
*
ppi
)
__attribute__
((
alias
(
"bare_net_init"
)));
__attribute__
((
alias
(
"bare_net_init"
)));
...
...
arch-bare-i386/bare-startup.c
View file @
c52bb3e1
...
@@ -62,7 +62,7 @@ void ppsi_main(void)
...
@@ -62,7 +62,7 @@ void ppsi_main(void)
OPTS
(
ppi
)
->
iface_name
=
"eth0"
;
OPTS
(
ppi
)
->
iface_name
=
"eth0"
;
#ifdef PPSI_SLAVE
#ifdef PPSI_SLAVE
OPTS
(
ppi
)
->
slave_only
=
1
;
OPTS
(
ppi
)
->
slave_only
=
1
;
#endif
#endif
bare_main_loop
(
ppi
);
bare_main_loop
(
ppi
);
...
...
arch-bare-i386/bare-timer.c
View file @
c52bb3e1
...
@@ -9,7 +9,7 @@ int bare_timer_init(struct pp_instance *ppi)
...
@@ -9,7 +9,7 @@ int bare_timer_init(struct pp_instance *ppi)
{
{
uint32_t
i
;
uint32_t
i
;
for
(
i
=
0
;
i
<
PP_TIMER_ARRAY_SIZE
;
i
++
)
for
(
i
=
0
;
i
<
PP_TIMER_ARRAY_SIZE
;
i
++
)
ppi
->
timers
[
i
]
=
&
bare_timers
[
i
];
ppi
->
timers
[
i
]
=
&
bare_timers
[
i
];
return
0
;
return
0
;
...
@@ -17,17 +17,17 @@ int bare_timer_init(struct pp_instance *ppi)
...
@@ -17,17 +17,17 @@ int bare_timer_init(struct pp_instance *ppi)
int
bare_timer_start
(
uint32_t
interval_ms
,
struct
pp_timer
*
tm
)
int
bare_timer_start
(
uint32_t
interval_ms
,
struct
pp_timer
*
tm
)
{
{
struct
bare_timeval
now
;
struct
bare_timeval
now
;
sys_clock_gettime
(
CLOCK_MONOTONIC
,
&
now
);
sys_clock_gettime
(
CLOCK_MONOTONIC
,
&
now
);
tm
->
start
=
((
uint64_t
)(
now
.
tv_sec
))
*
1000
+
tm
->
start
=
((
uint64_t
)(
now
.
tv_sec
))
*
1000
+
(
now
.
tv_nsec
/
1000000
);
(
now
.
tv_nsec
/
1000000
);
tm
->
interval_ms
=
interval_ms
;
tm
->
interval_ms
=
interval_ms
;
return
0
;
return
0
;
}
}
int
bare_timer_stop
(
struct
pp_timer
*
tm
)
int
bare_timer_stop
(
struct
pp_timer
*
tm
)
{
{
tm
->
interval_ms
=
0
;
tm
->
interval_ms
=
0
;
tm
->
start
=
0
;
tm
->
start
=
0
;
return
0
;
return
0
;
...
@@ -39,12 +39,12 @@ int bare_timer_expired(struct pp_timer *tm)
...
@@ -39,12 +39,12 @@ int bare_timer_expired(struct pp_timer *tm)
uint64_t
now_ms
;
uint64_t
now_ms
;
if
(
tm
->
start
==
0
)
{
if
(
tm
->
start
==
0
)
{
PP_PRINTF
(
"%
p Warning: bare_timer_expired: timer not started
\n
"
,
tm
);
PP_PRINTF
(
"%
s: Warning: timer %p not started
\n
"
,
__func__
,
tm
);
return
0
;
return
0
;
}
}
sys_clock_gettime
(
CLOCK_MONOTONIC
,
&
now
);
sys_clock_gettime
(
CLOCK_MONOTONIC
,
&
now
);
now_ms
=
((
uint64_t
)(
now
.
tv_sec
))
*
1000
+
now_ms
=
((
uint64_t
)(
now
.
tv_sec
))
*
1000
+
(
now
.
tv_nsec
/
1000000
);
(
now
.
tv_nsec
/
1000000
);
if
(
now_ms
>
tm
->
start
+
tm
->
interval_ms
)
{
if
(
now_ms
>
tm
->
start
+
tm
->
interval_ms
)
{
...
...
arch-bare-i386/syscalls.c
View file @
c52bb3e1
...
@@ -24,8 +24,8 @@ _syscall1(int, time, void *, tz)
...
@@ -24,8 +24,8 @@ _syscall1(int, time, void *, tz)
_syscall3
(
int
,
ioctl
,
int
,
fd
,
int
,
cmd
,
void
*
,
arg
)
_syscall3
(
int
,
ioctl
,
int
,
fd
,
int
,
cmd
,
void
*
,
arg
)
_syscall1
(
int
,
select
,
struct
sel_arg_struct
*
,
as
)
_syscall1
(
int
,
select
,
struct
sel_arg_struct
*
,
as
)
static
_syscall2
(
int
,
socketcall
,
int
,
call
,
unsigned
long
*
,
args
)
static
_syscall2
(
int
,
socketcall
,
int
,
call
,
unsigned
long
*
,
args
)
_syscall2
(
int
,
gettimeofday
,
void
*
,
tv
,
void
*
,
z
);
_syscall2
(
int
,
gettimeofday
,
void
*
,
tv
,
void
*
,
z
);
_syscall2
(
int
,
settimeofday
,
void
*
,
tv
,
void
*
,
z
);
_syscall2
(
int
,
settimeofday
,
void
*
,
tv
,
void
*
,
z
);
_syscall1
(
int
,
adjtimex
,
void
*
,
tv
);
_syscall1
(
int
,
adjtimex
,
void
*
,
tv
);
_syscall2
(
int
,
clock_gettime
,
int
,
clock
,
void
*
,
t
);
_syscall2
(
int
,
clock_gettime
,
int
,
clock
,
void
*
,
t
);
_syscall1
(
int
,
close
,
int
,
fd
);
_syscall1
(
int
,
close
,
int
,
fd
);
...
@@ -140,7 +140,8 @@ int sys_shutdown(int fd, int flags)
...
@@ -140,7 +140,8 @@ int sys_shutdown(int fd, int flags)
return
socketcall
(
SYS_SHUTDOWN
,
args
);
return
socketcall
(
SYS_SHUTDOWN
,
args
);
}
}
int
sys_setsockopt
(
int
fd
,
int
level
,
int
optname
,
const
void
*
optval
,
int
optlen
)
int
sys_setsockopt
(
int
fd
,
int
level
,
int
optname
,
const
void
*
optval
,
int
optlen
)
{
{
args
[
0
]
=
fd
;
args
[
0
]
=
fd
;
args
[
1
]
=
level
;
args
[
1
]
=
level
;
...
...
arch-bare-i386/syscalls.h
View file @
c52bb3e1
...
@@ -17,80 +17,83 @@ do { \
...
@@ -17,80 +17,83 @@ do { \
} while (0)
} while (0)
/* XXX - _foo needs to be __foo, while __NR_bar could be _NR_bar. */
/* XXX - _foo needs to be __foo, while __NR_bar could be _NR_bar. */
#define _syscall0(type,name) \
#define _syscall0(type,
name) \
type name(void) \
type name(void) \
{ \
{ \
long __res; \
long __res; \
__asm__ volatile ("int $0x80" \
__asm__ volatile ("int $0x80" \
: "=a" (__res) \
: "=a" (__res) \
: "0" (__NR_##name)); \
: "0" (__NR_##name)); \
__syscall_return(type,__res); \
__syscall_return(type,
__res); \
}
}
#define _syscall1(type,
name,type1,
arg1) \
#define _syscall1(type,
name, type1,
arg1) \
type name(type1 arg1) \
type name(type1 arg1) \
{ \
{ \
long __res; \
long __res; \
__asm__ volatile ("int $0x80" \
__asm__ volatile ("int $0x80" \
: "=a" (__res) \
: "=a" (__res) \
: "0" (__NR_##name),"b" ((long)(arg1))); \
: "0" (__NR_##name),
"b" ((long)(arg1))); \
__syscall_return(type,__res); \
__syscall_return(type,
__res); \
}
}
#define _syscall2(type,
name,type1,arg1,type2,
arg2) \
#define _syscall2(type,
name, type1, arg1, type2,
arg2) \
type name(type1 arg1,type2 arg2) \
type name(type1 arg1,
type2 arg2) \
{ \
{ \
long __res; \
long __res; \
__asm__ volatile ("int $0x80" \
__asm__ volatile ("int $0x80" \
: "=a" (__res) \
: "=a" (__res) \
: "0" (__NR_##name),
"b" ((long)(arg1)),
"c" ((long)(arg2))); \
: "0" (__NR_##name),
"b" ((long)(arg1)),
"c" ((long)(arg2))); \
__syscall_return(type,__res); \
__syscall_return(type,
__res); \
}
}
#define _syscall3(type,
name,type1,arg1,type2,arg2,type3,
arg3) \
#define _syscall3(type,
name, type1, arg1, type2, arg2, type3,
arg3) \
type name(type1 arg1,
type2 arg2,
type3 arg3) \
type name(type1 arg1,
type2 arg2,
type3 arg3) \
{ \
{ \
long __res; \
long __res; \
__asm__ volatile ("int $0x80" \
__asm__ volatile ("int $0x80" \
: "=a" (__res) \
: "=a" (__res) \
: "0" (__NR_##name),
"b" ((long)(arg1)),
"c" ((long)(arg2)), \
: "0" (__NR_##name),
"b" ((long)(arg1)),
"c" ((long)(arg2)), \
"d" ((long)(arg3))); \
"d" ((long)(arg3))); \
__syscall_return(type,__res); \
__syscall_return(type,
__res); \
}
}
#define _syscall4(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
#define _syscall4(type, name, type1, arg1, type2, arg2, type3, arg3, \
type name (type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
type4, arg4) \
type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
{ \
{ \
long __res; \
long __res; \
__asm__ volatile ("int $0x80" \
__asm__ volatile ("int $0x80" \
: "=a" (__res) \
: "=a" (__res) \
: "0" (__NR_##name),
"b" ((long)(arg1)),
"c" ((long)(arg2)), \
: "0" (__NR_##name),
"b" ((long)(arg1)),
"c" ((long)(arg2)), \
"d" ((long)(arg3)),"S" ((long)(arg4))); \
"d" ((long)(arg3)),
"S" ((long)(arg4))); \
__syscall_return(type,__res); \
__syscall_return(type,
__res); \
}
}
#define _syscall5(type,
name,type1,arg1,type2,arg2,type3,arg3,type4,arg4
, \
#define _syscall5(type,
name, type1, arg1, type2, arg2, type3, arg3
, \
type5,
arg5) \
type4, arg4, type5,
arg5) \
type name
(type1 arg1,type2 arg2,type3 arg3,type4 arg4,
type5 arg5) \
type name
(type1 arg1, type2 arg2, type3 arg3, type4 arg4,
type5 arg5) \
{ \
{ \
long __res; \
long __res; \
__asm__ volatile ("int $0x80" \
__asm__ volatile ("int $0x80" \
: "=a" (__res) \
: "=a" (__res) \
: "0" (__NR_##name),
"b" ((long)(arg1)),
"c" ((long)(arg2)), \
: "0" (__NR_##name),
"b" ((long)(arg1)),
"c" ((long)(arg2)), \
"d" ((long)(arg3)),
"S" ((long)(arg4)),
"D" ((long)(arg5))); \
"d" ((long)(arg3)),
"S" ((long)(arg4)),
"D" ((long)(arg5))); \
__syscall_return(type,__res); \
__syscall_return(type,
__res); \
}
}
#define _syscall6(type,name,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \
#define _syscall6(type, name, type1, arg1, type2, arg2, type3, arg3, \
type5,arg5,type6,arg6) \
type4, arg4, type5, arg5, type6, arg6) \
type name (type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5,type6 arg6) \
type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5, \
type6 arg6) \
{ \
{ \
long __res; \
long __res; \
__asm__ volatile ("push %%ebp ; movl %%eax,%%ebp ; movl %1,%%eax ; int $0x80 ; pop %%ebp" \
__asm__ volatile ("push %%ebp ; movl %%eax,%%ebp ; " \
"movl %1,%%eax ; int $0x80 ; pop %%ebp" \
: "=a" (__res) \
: "=a" (__res) \
: "i" (__NR_##name),
"b" ((long)(arg1)),
"c" ((long)(arg2)), \
: "i" (__NR_##name),
"b" ((long)(arg1)),
"c" ((long)(arg2)), \
"d" ((long)(arg3)),
"S" ((long)(arg4)),
"D" ((long)(arg5)), \
"d" ((long)(arg3)),
"S" ((long)(arg4)),
"D" ((long)(arg5)), \
"0" ((long)(arg6))); \
"0" ((long)(arg6))); \
__syscall_return(type,__res); \
__syscall_return(type,
__res); \
}
}
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