summaryrefslogtreecommitdiffstats
path: root/rtemsbsd/include/machine/pcpu.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-09 08:56:49 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-10-10 09:09:19 +0200
commitab415f95a9ee784f0aa2131d237455ed6aad2dde (patch)
tree5dbc6edb5c1fe248dc5ca4204b271f5a19c1270d /rtemsbsd/include/machine/pcpu.h
parentMake default test initialization task preemptive (diff)
downloadrtems-libbsd-ab415f95a9ee784f0aa2131d237455ed6aad2dde.tar.bz2
Use extension to attach a struct thread to threads
Add test thread01.
Diffstat (limited to 'rtemsbsd/include/machine/pcpu.h')
-rw-r--r--rtemsbsd/include/machine/pcpu.h42
1 files changed, 30 insertions, 12 deletions
diff --git a/rtemsbsd/include/machine/pcpu.h b/rtemsbsd/include/machine/pcpu.h
index caf1385f..b09f0942 100644
--- a/rtemsbsd/include/machine/pcpu.h
+++ b/rtemsbsd/include/machine/pcpu.h
@@ -7,27 +7,48 @@
*/
/*
- * Copyright (c) 2009, 2010 embedded brains GmbH. All rights reserved.
+ * Copyright (c) 2009-2013 embedded brains GmbH. All rights reserved.
*
* embedded brains GmbH
- * Obere Lagerstr. 30
+ * Dornierstr. 4
* 82178 Puchheim
* Germany
* <rtems@embedded-brains.de>
*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.com/license/LICENSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
*/
#ifndef _RTEMS_BSD_MACHINE_PCPU_H_
#define _RTEMS_BSD_MACHINE_PCPU_H_
-#ifndef _RTEMS_BSD_MACHINE_RTEMS_BSD_CONFIG_H_
-#error "the header file <freebsd/machine/rtems-bsd-config.h> must be included first"
-#endif
+struct thread;
+
+struct thread *
+rtems_bsd_get_curthread_or_wait_forever(void);
-#define curthread (( struct thread * )(( RTEMS_API_Control * )_Thread_Executing->API_Extensions[THREAD_API_RTEMS] )->Notepads[RTEMS_NOTEPAD_0] )
+struct thread *
+rtems_bsd_get_curthread_or_null(void);
+
+#define curthread rtems_bsd_get_curthread_or_wait_forever()
extern struct pcpu *pcpup;
@@ -35,7 +56,4 @@ extern struct pcpu *pcpup;
#define PCPU_GET(member) (0)
#define PCPU_SET(member, val)
-//#define PCPU_GET(member) (pcpup->pc_ ## member)
-//#define PCPU_SET(member, val) (pcpup->pc_ ## member = (val))
-
#endif /* _RTEMS_BSD_MACHINE_PCPU_H_ */