arch_asm.S revision c085f386
1c085f386SAlexander von Gluck IV/*
2c085f386SAlexander von Gluck IV * Copyright 2019, Haiku, Inc. All Rights Reserved
3c085f386SAlexander von Gluck IV * Distributed under the terms of the MIT License.
4c085f386SAlexander von Gluck IV */
5c085f386SAlexander von Gluck IV
6c085f386SAlexander von Gluck IV
7c085f386SAlexander von Gluck IV#include <asm_defs.h>
8c085f386SAlexander von Gluck IV#include <arch_cpu_defs.h>
9c085f386SAlexander von Gluck IV
10c085f386SAlexander von Gluck IV
11c085f386SAlexander von Gluck IV.text
12c085f386SAlexander von Gluck IV
13c085f386SAlexander von Gluck IV
14c085f386SAlexander von Gluck IV#warning TODO: Fix overly simplistic IRQ
15c085f386SAlexander von Gluck IV
16c085f386SAlexander von Gluck IV/* void arch_int_enable_interrupts(void) */
17c085f386SAlexander von Gluck IVFUNCTION(arch_int_enable_interrupts):
18c085f386SAlexander von Gluck IV	// TODO
19c085f386SAlexander von Gluck IV	csrs sstatus, ARCH_SR_SIE
20c085f386SAlexander von Gluck IV	ret
21c085f386SAlexander von Gluck IVFUNCTION_END(arch_int_enable_interrupts)
22c085f386SAlexander von Gluck IV
23c085f386SAlexander von Gluck IV
24c085f386SAlexander von Gluck IV/* int arch_int_disable_interrupts(void)
25c085f386SAlexander von Gluck IV */
26c085f386SAlexander von Gluck IVFUNCTION(arch_int_disable_interrupts):
27c085f386SAlexander von Gluck IV	csrrc 0, sstatus, ARCH_SR_SIE
28c085f386SAlexander von Gluck IV	// TODO
29c085f386SAlexander von Gluck IV	ret
30c085f386SAlexander von Gluck IVFUNCTION_END(arch_int_disable_interrupts)
31c085f386SAlexander von Gluck IV
32c085f386SAlexander von Gluck IV
33c085f386SAlexander von Gluck IV/* void arch_int_restore_interrupts(int oldState)
34c085f386SAlexander von Gluck IV */
35c085f386SAlexander von Gluck IVFUNCTION(arch_int_restore_interrupts):
36c085f386SAlexander von Gluck IV	// TODO
37c085f386SAlexander von Gluck IV	ret
38c085f386SAlexander von Gluck IVFUNCTION_END(arch_int_restore_interrupts)
39c085f386SAlexander von Gluck IV
40c085f386SAlexander von Gluck IV
41c085f386SAlexander von Gluck IV/* bool arch_int_are_interrupts_enabled(void) */
42c085f386SAlexander von Gluck IVFUNCTION(arch_int_are_interrupts_enabled):
43c085f386SAlexander von Gluck IV	// TODO
44c085f386SAlexander von Gluck IV	ret
45c085f386SAlexander von Gluck IVFUNCTION_END(arch_int_are_interrupts_enabled)
46c085f386SAlexander von Gluck IV
47c085f386SAlexander von Gluck IV
48c085f386SAlexander von Gluck IV/* status_t arch_cpu_user_memcpy(void *to, const void *from, size_t size, addr_t *faultHandler) */
49c085f386SAlexander von Gluck IVFUNCTION(_arch_cpu_user_memcpy):
50c085f386SAlexander von Gluck IV	// TODO
51c085f386SAlexander von Gluck IV	ret
52c085f386SAlexander von Gluck IVFUNCTION_END(_arch_cpu_user_memcpy)
53c085f386SAlexander von Gluck IV
54c085f386SAlexander von Gluck IV
55c085f386SAlexander von Gluck IV/* status_t arch_cpu_user_memset(void *to, char c, size_t count, addr_t *faultHandler) */
56c085f386SAlexander von Gluck IVFUNCTION(_arch_cpu_user_memset):
57c085f386SAlexander von Gluck IV	// TODO
58c085f386SAlexander von Gluck IV	ret
59c085f386SAlexander von Gluck IVFUNCTION_END(_arch_cpu_user_memset)
60c085f386SAlexander von Gluck IV
61c085f386SAlexander von Gluck IV
62c085f386SAlexander von Gluck IV/* ssize_t arch_cpu_user_strlcpy(void *to, const void *from, size_t size, addr_t *faultHandler) */
63c085f386SAlexander von Gluck IVFUNCTION(_arch_cpu_user_strlcpy):
64c085f386SAlexander von Gluck IV	// TODO
65c085f386SAlexander von Gluck IV	ret
66c085f386SAlexander von Gluck IVFUNCTION_END(_arch_cpu_user_strlcpy)