1b2b974f7SMark Johnston/*- 2b2b974f7SMark Johnston * SPDX-License-Identifier: BSD-2-Clause 3b2b974f7SMark Johnston * 4b2b974f7SMark Johnston * Copyright (c) 2025 Mark Johnston <markj@FreeBSD.org> 5b2b974f7SMark Johnston */ 6b2b974f7SMark Johnston 7b2b974f7SMark Johnston/* 8b2b974f7SMark Johnston * Define the "ticks" and "ticksl" variables. The former is overlaid onto the 9b2b974f7SMark Johnston * low bits of the latter. 10b2b974f7SMark Johnston */ 11b2b974f7SMark Johnston 12b2b974f7SMark Johnston#if defined(__aarch64__) 13b2b974f7SMark Johnston#include <sys/elf_common.h> 14b2b974f7SMark Johnston#include <machine/asm.h> 15b2b974f7SMark Johnston 16b2b974f7SMark JohnstonGNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL) 17b2b974f7SMark Johnston#endif 18b2b974f7SMark Johnston 19b2b974f7SMark Johnston#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ 20b2b974f7SMark Johnston#define TICKS_OFFSET 0 21b2b974f7SMark Johnston#else 22b2b974f7SMark Johnston#define TICKS_OFFSET (__SIZEOF_LONG__ - __SIZEOF_INT__) 23b2b974f7SMark Johnston#endif 24b2b974f7SMark Johnston 25b2b974f7SMark Johnston .bss 26b2b974f7SMark Johnston 27b2b974f7SMark Johnston .global ticksl 28b2b974f7SMark Johnston .type ticksl, %object 29*159d29d3SMark Johnston .balign __SIZEOF_LONG__ 30b2b974f7SMark Johnstonticksl: .zero __SIZEOF_LONG__ 31b2b974f7SMark Johnston .size ticksl, __SIZEOF_LONG__ 32b2b974f7SMark Johnston 33b2b974f7SMark Johnston .global ticks 34b2b974f7SMark Johnston .type ticks, %object 35b2b974f7SMark Johnstonticks =ticksl + TICKS_OFFSET 36b2b974f7SMark Johnston .size ticks, __SIZEOF_INT__ 37