aboutsummaryrefslogtreecommitdiff
path: root/linux-user/elfload.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-10-30 20:58:30 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2005-10-30 20:58:30 +0000
commitafce2927aac2a668edcaa4ef6d025b87cd8e0cd5 (patch)
treeb47315c2a0d133a68d93119ef1cf812f1896e5ea /linux-user/elfload.c
parentbd6ea3c8f32b3f1127026ecdd813b87baf649483 (diff)
Arm AT_HWCAP AUXV entry (Paul Brook)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1590 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'linux-user/elfload.c')
-rw-r--r--linux-user/elfload.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 7b102c6cb7..2ae1e5324a 100644
--- a/linux-user/elfload.c
+++ b/linux-user/elfload.c
@@ -91,6 +91,28 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
#define USE_ELF_CORE_DUMP
#define ELF_EXEC_PAGESIZE 4096
+#define DLINFO_ARCH_ITEMS 1
+enum
+{
+ ARM_HWCAP_ARM_SWP = 1 << 0,
+ ARM_HWCAP_ARM_HALF = 1 << 1,
+ ARM_HWCAP_ARM_THUMB = 1 << 2,
+ ARM_HWCAP_ARM_26BIT = 1 << 3,
+ ARM_HWCAP_ARM_FAST_MULT = 1 << 4,
+ ARM_HWCAP_ARM_FPA = 1 << 5,
+ ARM_HWCAP_ARM_VFP = 1 << 6,
+ ARM_HWCAP_ARM_EDSP = 1 << 7,
+};
+
+#define ARM_HWCAPS (ARM_HWCAP_ARM_SWP | ARM_HWCAP_ARM_HALF \
+ | ARM_HWCAP_ARM_THUMB | ARM_HWCAP_ARM_FAST_MULT \
+ | ARM_HWCAP_ARM_FPA | ARM_HWCAP_ARM_VFP)
+
+#define ARCH_DLINFO \
+do { \
+ NEW_AUX_ENT(AT_HWCAP, ARM_HWCAPS); \
+} while (0)
+
#endif
#ifdef TARGET_SPARC