+/*
+ * Quantum related macros are used in the
+ * timer module and must be empty when
+ * kernel is disabled.
+ */
+#if (CONFIG_KERN && CONFIG_KERN_PREEMPT)
+INLINE int preempt_quantum(void)
+{
+ extern int _proc_quantum;
+ return _proc_quantum;
+}
+
+INLINE void proc_decQuantum(void)
+{
+ extern int _proc_quantum;
+ if (_proc_quantum > 0)
+ _proc_quantum--;
+}
+
+INLINE void preempt_reset_quantum(void)
+{
+ extern int _proc_quantum;
+ _proc_quantum = CONFIG_KERN_QUANTUM;
+}
+#else /* !(CONFIG_KERN && CONFIG_KERN_PREEMPT) */
+INLINE int preempt_quantum(void)
+{
+ return 0;
+}
+
+INLINE void proc_decQuantum(void)
+{
+}
+
+INLINE void preempt_reset_quantum(void)
+{
+}
+#endif /* (CONFIG_KERN && CONFIG_KERN_PREEMPT) */
+