xref: /xnu-8020.140.41/osfmk/arm/pal_routines.h (revision 27b03b360a988dfd3dfdf34262bb0042026747cc)
1 /*
2  * Copyright (c) 2009 Apple Inc. All rights reserved.
3  *
4  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
5  *
6  * This file contains Original Code and/or Modifications of Original Code
7  * as defined in and that are subject to the Apple Public Source License
8  * Version 2.0 (the 'License'). You may not use this file except in
9  * compliance with the License. The rights granted to you under the License
10  * may not be used to create, or enable the creation or redistribution of,
11  * unlawful or unlicensed copies of an Apple operating system, or to
12  * circumvent, violate, or enable the circumvention or violation of, any
13  * terms of an Apple operating system software license agreement.
14  *
15  * Please obtain a copy of the License at
16  * http://www.opensource.apple.com/apsl/ and read it before using this file.
17  *
18  * The Original Code and all software distributed under the License are
19  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
20  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
22  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
23  * Please see the License for the specific language governing rights and
24  * limitations under the License.
25  *
26  * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
27  */
28 #ifndef _ARM_PAL_ROUTINES_H
29 #define _ARM_PAL_ROUTINES_H
30 
31 #include <stdint.h>
32 #include <string.h>
33 
34 #if defined(__cplusplus)
35 extern "C" {
36 #endif
37 
38 #ifdef XNU_KERNEL_PRIVATE
39 
40 /* No-op */
41 #define pal_dbg_set_task_name( x ) do { } while(0)
42 
43 #define pal_ast_check(thread)
44 #define pal_thread_terminate_self(t)
45 
46 /* serial / debug output routines */
47 extern int  pal_serial_init(void);
48 extern void pal_serial_putc(char a);
49 extern void pal_serial_putc_nocr(char a);
50 extern int  pal_serial_getc(void);
51 
52 #define panic_display_pal_info() do { } while(0)
53 #define pal_kernel_announce() do { } while(0)
54 
55 #endif  /* XNU_KERNEL_PRIVATE */
56 
57 /* Allows us to set a property on the IOResources object. Unused on ARM. */
58 static inline void
pal_get_resource_property(const char ** property_name,int * property_value)59 pal_get_resource_property(const char **property_name,
60     int *property_value)
61 {
62 	*property_name = NULL;
63 	(void) property_value;
64 }
65 
66 #if defined(__cplusplus)
67 }
68 #endif
69 
70 #endif /* _ARM_PAL_ROUTINES_H */
71