Subversion Repositories HelenOS-historic

Compare Revisions

Ignore whitespace Rev 27 → Rev 28

/SPARTAN/trunk/include/cpu.h
59,6 → 59,7
#endif /* __SMP__ */
 
int id;
int active;
 
__u16 frequency_mhz;
__u32 delay_loop_const;
/SPARTAN/trunk/src/main/kinit.c
86,7 → 86,8
* Now that all CPUs are up, we can report what we've found.
*/
for (i = 0; i < config.cpu_count; i++)
cpu_print_report(&cpus[i]);
if (cpus[i].active)
cpu_print_report(&cpus[i]);
 
#ifdef __SMP__
if (config.cpu_count > 1) {
/SPARTAN/trunk/src/cpu/cpu.c
81,6 → 81,8
}
#endif /* __SMP__ */
CPU->active = 1;
cpu_identify();
cpu_arch_init();
}
/SPARTAN/trunk/arch/ia32/include/asm.h
59,6 → 59,6
extern void cpu_sleep(void);
 
extern void write_dr0(__u32 v);
extern __u32 read_dr0(void);
extern inline __u32 read_dr0(void);
 
#endif
/SPARTAN/trunk/arch/ia32/src/ia32.c
44,7 → 44,22
 
#include <arch/interrupt.h>
 
#include <arch/asm.h>
 
void write_dr0(__u32 v)
{
__asm__("movl %0,%%dr0" : : "r" (v));
}
 
inline __u32 read_dr0(void)
{
__u32 v;
__asm__("movl %%dr0,%0\n" : "=r" (v));
return v;
}
 
void arch_pre_mm_init(void)
{
pm_init();
/SPARTAN/trunk/arch/ia32/src/smp/mp.c
494,7 → 494,7
continue;
 
if (pr[i].l_apic_id == l_apic_id()) {
printf("%X: bad processor entry #%d, will not send IPI to myself\n", &pr[i], i);
printf("%L: bad processor entry #%d, will not send IPI to myself\n", &pr[i], i);
continue;
}
/SPARTAN/trunk/arch/ia32/src/asm.s
52,20 → 52,7
.global memsetb
.global memsetw
.global memcmp
.global write_dr0
.global read_dr0
 
write_dr0:
pushl %eax
movl 8(%esp),%eax
movl %eax,%dr0
popl %eax
ret
read_dr0:
movl %dr0,%eax
ret
 
#
# set priority level high
cpu_priority_high: