Linux Audio

Check our new training course

Loading...
v3.5.6
  1/*
  2 *  linux/arch/cris/kernel/process.c
  3 *
  4 *  Copyright (C) 1995  Linus Torvalds
  5 *  Copyright (C) 2000-2002  Axis Communications AB
  6 *
  7 *  Authors:   Bjorn Wesen (bjornw@axis.com)
  8 *
  9 */
 10
 11/*
 12 * This file handles the architecture-dependent parts of process handling..
 13 */
 14
 15#include <linux/atomic.h>
 16#include <asm/pgtable.h>
 17#include <asm/uaccess.h>
 18#include <asm/irq.h>
 19#include <linux/module.h>
 20#include <linux/spinlock.h>
 21#include <linux/init_task.h>
 22#include <linux/sched.h>
 23#include <linux/fs.h>
 24#include <linux/user.h>
 25#include <linux/elfcore.h>
 26#include <linux/mqueue.h>
 27#include <linux/reboot.h>
 
 28
 29//#define DEBUG
 30
 31/*
 32 * The hlt_counter, disable_hlt and enable_hlt is just here as a hook if
 33 * there would ever be a halt sequence (for power save when idle) with
 34 * some largish delay when halting or resuming *and* a driver that can't
 35 * afford that delay.  The hlt_counter would then be checked before
 36 * executing the halt sequence, and the driver marks the unhaltable
 37 * region by enable_hlt/disable_hlt.
 38 */
 39
 40int cris_hlt_counter=0;
 41
 42void disable_hlt(void)
 43{
 44	cris_hlt_counter++;
 45}
 46
 47EXPORT_SYMBOL(disable_hlt);
 48
 49void enable_hlt(void)
 50{
 51	cris_hlt_counter--;
 52}
 53
 54EXPORT_SYMBOL(enable_hlt);
 55 
 56/*
 57 * The following aren't currently used.
 58 */
 59void (*pm_idle)(void);
 60
 61extern void default_idle(void);
 62
 63void (*pm_power_off)(void);
 64EXPORT_SYMBOL(pm_power_off);
 65
 66/*
 67 * The idle thread. There's no useful work to be
 68 * done, so just try to conserve power and have a
 69 * low exit latency (ie sit in a loop waiting for
 70 * somebody to say that they'd like to reschedule)
 71 */
 72
 73void cpu_idle (void)
 74{
 75	/* endless idle loop with no priority at all */
 76	while (1) {
 77		while (!need_resched()) {
 78			void (*idle)(void);
 79			/*
 80			 * Mark this as an RCU critical section so that
 81			 * synchronize_kernel() in the unload path waits
 82			 * for our completion.
 83			 */
 84			idle = pm_idle;
 85			if (!idle)
 86				idle = default_idle;
 87			idle();
 88		}
 89		schedule_preempt_disabled();
 90	}
 91}
 92
 93void hard_reset_now (void);
 94
 95void machine_restart(char *cmd)
 96{
 97	hard_reset_now();
 98}
 99
100/*
101 * Similar to machine_power_off, but don't shut off power.  Add code
102 * here to freeze the system for e.g. post-mortem debug purpose when
103 * possible.  This halt has nothing to do with the idle halt.
104 */
105
106void machine_halt(void)
107{
108}
109
110/* If or when software power-off is implemented, add code here.  */
111
112void machine_power_off(void)
113{
114}
115
116/*
117 * When a process does an "exec", machine state like FPU and debug
118 * registers need to be reset.  This is a hook function for that.
119 * Currently we don't have any such state to reset, so this is empty.
120 */
121
122void flush_thread(void)
123{
124}
125
126/* Fill in the fpu structure for a core dump. */
127int dump_fpu(struct pt_regs *regs, elf_fpregset_t *fpu)
128{
129        return 0;
130}
v4.10.11
 1/*
 2 *  linux/arch/cris/kernel/process.c
 3 *
 4 *  Copyright (C) 1995  Linus Torvalds
 5 *  Copyright (C) 2000-2002  Axis Communications AB
 6 *
 7 *  Authors:   Bjorn Wesen (bjornw@axis.com)
 8 *
 9 */
10
11/*
12 * This file handles the architecture-dependent parts of process handling..
13 */
14
15#include <linux/atomic.h>
16#include <asm/pgtable.h>
17#include <linux/uaccess.h>
18#include <asm/irq.h>
19#include <linux/module.h>
20#include <linux/spinlock.h>
21#include <linux/init_task.h>
22#include <linux/sched.h>
23#include <linux/fs.h>
24#include <linux/user.h>
25#include <linux/elfcore.h>
26#include <linux/mqueue.h>
27#include <linux/reboot.h>
28#include <linux/rcupdate.h>
29
30//#define DEBUG
31
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32extern void default_idle(void);
33
34void (*pm_power_off)(void);
35EXPORT_SYMBOL(pm_power_off);
36
37void arch_cpu_idle(void)
 
 
 
 
 
 
 
38{
39	default_idle();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
40}
41
42void hard_reset_now (void);
43
44void machine_restart(char *cmd)
45{
46	hard_reset_now();
47}
48
49/*
50 * Similar to machine_power_off, but don't shut off power.  Add code
51 * here to freeze the system for e.g. post-mortem debug purpose when
52 * possible.  This halt has nothing to do with the idle halt.
53 */
54
55void machine_halt(void)
56{
57}
58
59/* If or when software power-off is implemented, add code here.  */
60
61void machine_power_off(void)
62{
63}
64
65/*
66 * When a process does an "exec", machine state like FPU and debug
67 * registers need to be reset.  This is a hook function for that.
68 * Currently we don't have any such state to reset, so this is empty.
69 */
70
71void flush_thread(void)
72{
73}
74
75/* Fill in the fpu structure for a core dump. */
76int dump_fpu(struct pt_regs *regs, elf_fpregset_t *fpu)
77{
78        return 0;
79}