xref: /freebsd/sys/sys/csan.h (revision 95ee2897)
10cb53570SAndrew Turner /*	$NetBSD: csan.h,v 1.1 2019/11/05 20:19:18 maxv Exp $	*/
20cb53570SAndrew Turner 
30cb53570SAndrew Turner /*
40cb53570SAndrew Turner  * Copyright (c) 2019 The NetBSD Foundation, Inc.
50cb53570SAndrew Turner  * All rights reserved.
60cb53570SAndrew Turner  *
70cb53570SAndrew Turner  * This code is derived from software contributed to The NetBSD Foundation
80cb53570SAndrew Turner  * by Maxime Villard.
90cb53570SAndrew Turner  *
100cb53570SAndrew Turner  * Redistribution and use in source and binary forms, with or without
110cb53570SAndrew Turner  * modification, are permitted provided that the following conditions
120cb53570SAndrew Turner  * are met:
130cb53570SAndrew Turner  * 1. Redistributions of source code must retain the above copyright
140cb53570SAndrew Turner  *    notice, this list of conditions and the following disclaimer.
150cb53570SAndrew Turner  * 2. Redistributions in binary form must reproduce the above copyright
160cb53570SAndrew Turner  *    notice, this list of conditions and the following disclaimer in the
170cb53570SAndrew Turner  *    documentation and/or other materials provided with the distribution.
180cb53570SAndrew Turner  *
190cb53570SAndrew Turner  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
200cb53570SAndrew Turner  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
210cb53570SAndrew Turner  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
220cb53570SAndrew Turner  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
230cb53570SAndrew Turner  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
240cb53570SAndrew Turner  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
250cb53570SAndrew Turner  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
260cb53570SAndrew Turner  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
270cb53570SAndrew Turner  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
280cb53570SAndrew Turner  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
290cb53570SAndrew Turner  * POSSIBILITY OF SUCH DAMAGE.
300cb53570SAndrew Turner  */
310cb53570SAndrew Turner 
320cb53570SAndrew Turner #ifndef _SYS_CSAN_H_
330cb53570SAndrew Turner #define _SYS_CSAN_H_
340cb53570SAndrew Turner 
350cb53570SAndrew Turner #include <sys/types.h>
360cb53570SAndrew Turner 
370cb53570SAndrew Turner #ifdef KCSAN
38849aef49SAndrew Turner void kcsan_cpu_init(u_int);
390cb53570SAndrew Turner #else
40849aef49SAndrew Turner #define kcsan_cpu_init(ci)	((void)0)
410cb53570SAndrew Turner #endif
420cb53570SAndrew Turner 
430cb53570SAndrew Turner #endif /* !_SYS_CSAN_H_ */
44