authorgravatar for 51252236+xdBronch@users.noreply.github.comxdBronch <51252236+xdBronch@users.noreply.github.com> 2023-07-04 01:00:37-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-07-07 11:57:09-07:00
log80404cc928c758f7063da42a0d68669998613969
treec1ecf449d05d8c404f9c7b880e4e5059f425ee21
parent2e424e019f6e7e12656a045ed4b9804f786dede9

implement std.time.sleep for uefi


1 files changed, 8 insertions(+), 0 deletions(-)

lib/std/time.zig+8
......@@ -46,6 +46,14 @@ pub fn sleep(nanoseconds: u64) void {
4646 return;
4747 }
4848
49 if (builtin.os.tag == .uefi) {
50 const boot_services = os.uefi.system_table.boot_services.?;
51 const us_from_ns = nanoseconds / ns_per_us;
52 const us = math.cast(usize, us_from_ns) orelse math.maxInt(usize);
53 _ = boot_services.stall(us);
54 return;
55 }
56
4957 const s = nanoseconds / ns_per_s;
5058 const ns = nanoseconds % ns_per_s;
5159 std.os.nanosleep(s, ns);