authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-09-17 21:21:09+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-09-18 12:42:24+02:00
log4aa35160ebeb86aad3431791d57f9bd53c9079f8
treef6a88960a27297f546941c58ef21ed6808c0c1b8
parent5e9e1fb0c85eacd412cb6cf4df14adc39f4c008a
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

stage1: update zig1.wasm

Needed due to LoongArch CPU model changes. Signed-off-by: Alex Rønne Petersen <alex@alexrp.com>

2 files changed, 13 insertions(+), 3 deletions(-)

stage1/zig.h+13-3
...@@ -4195,7 +4195,17 @@ static inline void* zig_x86_64_windows_teb(void) {...@@ -4195,7 +4195,17 @@ static inline void* zig_x86_64_windows_teb(void) {
41954195
4196#endif4196#endif
41974197
4198#if defined(zig_x86)4198#if defined(zig_loongarch)
4199
4200static inline void zig_loongarch_cpucfg(uint32_t word, uint32_t* result) {
4201#if defined(zig_gnuc_asm)
4202 __asm__("cpucfg %[result], %[word]" : [result] "=r" (result) : [word] "r" (word));
4203#else
4204 *result = 0;
4205#endif
4206}
4207
4208#elif defined(zig_x86)
41994209
4200static inline void zig_x86_cpuid(uint32_t leaf_id, uint32_t subid, uint32_t* eax, uint32_t* ebx, uint32_t* ecx, uint32_t* edx) {4210static inline void zig_x86_cpuid(uint32_t leaf_id, uint32_t subid, uint32_t* eax, uint32_t* ebx, uint32_t* ecx, uint32_t* edx) {
4201#if defined(zig_msvc)4211#if defined(zig_msvc)
...@@ -4206,7 +4216,7 @@ static inline void zig_x86_cpuid(uint32_t leaf_id, uint32_t subid, uint32_t* eax...@@ -4206,7 +4216,7 @@ static inline void zig_x86_cpuid(uint32_t leaf_id, uint32_t subid, uint32_t* eax
4206 *ecx = (uint32_t)cpu_info[2];4216 *ecx = (uint32_t)cpu_info[2];
4207 *edx = (uint32_t)cpu_info[3];4217 *edx = (uint32_t)cpu_info[3];
4208#elif defined(zig_gnuc_asm)4218#elif defined(zig_gnuc_asm)
4209 __asm__("cpuid" : "=a"(*eax), "=b"(*ebx), "=c"(*ecx), "=d"(*edx) : "a"(leaf_id), "c"(subid));4219 __asm__("cpuid" : "=a" (*eax), "=b" (*ebx), "=c" (*ecx), "=d" (*edx) : "a" (leaf_id), "c" (subid));
4210#else4220#else
4211 *eax = 0;4221 *eax = 0;
4212 *ebx = 0;4222 *ebx = 0;
...@@ -4221,7 +4231,7 @@ static inline uint32_t zig_x86_get_xcr0(void) {...@@ -4221,7 +4231,7 @@ static inline uint32_t zig_x86_get_xcr0(void) {
4221#elif defined(zig_gnuc_asm)4231#elif defined(zig_gnuc_asm)
4222 uint32_t eax;4232 uint32_t eax;
4223 uint32_t edx;4233 uint32_t edx;
4224 __asm__("xgetbv" : "=a"(eax), "=d"(edx) : "c"(0));4234 __asm__("xgetbv" : "=a" (eax), "=d" (edx) : "c" (0));
4225 return eax;4235 return eax;
4226#else4236#else
4227 *eax = 0;4237 *eax = 0;
stage1/zig1.wasm
Binary files a/stage1/zig1.wasm and b/stage1/zig1.wasm differ