De-pollute arm's sysarch.h.

Instead of including stdint.h for uintptr_t, include sys/_types.h and use
__types for everything that isn't a native C keyword type.

Remove the #include of cdefs.h.  It appears after the include of armreg.h
which has a precondition of cdefs.h being included before it, so everyone
including sysarch.h is already including cdefs.h.  (When armv5 support
goes away, there will be no need include armreg.h here either.)

Unfortunately, the unprefixed struct member names "addr" and "len" cannot
be changed, because 3rd-party software is relying on them (libcompiler_rt
is one known consumer).
This commit is contained in:
Ian Lepore 2019-07-10 14:34:52 +00:00
parent c66f5b079d
commit b522e138c5

View File

@ -65,12 +65,10 @@
#ifndef LOCORE
#ifndef __ASSEMBLER__
#include <sys/cdefs.h>
/*
* Pickup definition of uintptr_t
* Pickup definition of various __types.
*/
#include <sys/stdint.h>
#include <sys/_types.h>
/*
* Architecture specific syscalls (arm)
@ -83,19 +81,19 @@
#define ARM_GET_VFPSTATE 4
struct arm_sync_icache_args {
uintptr_t addr; /* Virtual start address */
size_t len; /* Region size */
__uintptr_t addr; /* Virtual start address */
__size_t len; /* Region size */
};
struct arm_get_vfpstate_args {
size_t mc_vfp_size;
__size_t mc_vfp_size;
void *mc_vfp;
};
#ifndef _KERNEL
__BEGIN_DECLS
int arm_sync_icache (u_int addr, int len);
int arm_drain_writebuf (void);
int arm_sync_icache(unsigned int, int);
int arm_drain_writebuf(void);
int sysarch(int, void *);
__END_DECLS
#endif