Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 2411 → Rev 2412

/branches/arm/kernel/arch/arm32/include/exception.h
40,7 → 40,7
#include <arch/types.h>
#include <arch/regutils.h>
 
/** If defined, macro forces using of high exception vectors. */
/** If defined, forces using of high exception vectors. */
#define HIGH_EXCEPTION_VECTORS
 
#ifdef HIGH_EXCEPTION_VECTORS
84,7 → 84,7
extern uintptr_t exc_stack;
 
 
/** Structure representing CPU state saved when an exception occurs. */
/** Struct representing CPU state saved when an exception occurs. */
typedef struct {
uint32_t spsr;
uint32_t sp;
133,7 → 133,6
}
 
 
extern void setup_exception_stacks(void);
extern void install_exception_handlers(void);
extern void exception_init(void);
extern void print_istate(istate_t *istate);
/branches/arm/kernel/arch/arm32/include/fpu_context.h
1,5 → 1,5
/*
* Copyright (c) 2005 Jakub Vana
* Copyright (c) 2007 Michal Kebrt
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
30,7 → 30,9
* @{
*/
/** @file
* @brief FPU context.
* @brief FPU context (not implemented).
*
* GXemul doesn't support FPU on its ARM CPU.
*/
 
#ifndef KERN_arm32_FPU_CONTEXT_H_
38,7 → 40,7
 
#include <arch/types.h>
 
#define FPU_CONTEXT_ALIGN 0 /* TODO */
#define FPU_CONTEXT_ALIGN 0
 
typedef struct {
} fpu_context_t;
/branches/arm/kernel/arch/arm32/include/cycle.h
37,7 → 37,12
#define KERN_arm32_CYCLE_H_
 
 
/** No such instruction on ARM to get count of cycles. */
/** Returns count of CPU cycles.
*
* No such instruction on ARM to get count of cycles.
*
* @return Count of CPU cycles.
*/
static inline uint64_t get_cycle(void)
{
return 0;
/branches/arm/kernel/arch/arm32/include/machine.h
31,6 → 31,10
*/
/** @file
* @brief Declarations of machine specific functions.
*
* These functions enable to differentiate more kinds of ARM emulators
* or CPUs. It's the same concept as "arch" functions on the architecture
* level.
*/
 
#ifndef KERN_arm32_MACHINE_H_
48,18 → 52,23
*/
extern void machine_console_init(devno_t devno);
 
 
/** Acquire console back for kernel. */
extern void machine_grab_console(void);
 
 
/** Return console to userspace. */
extern void machine_release_console(void);
 
 
/** Maps HW devices to the kernel address space using #hw_map. */
extern void machine_hw_map_init(void);
 
 
/** Starts timer. */
extern void machine_timer_irq_start(void);
 
 
/** Halts CPU. */
extern void machine_cpu_halt(void);
 
86,6 → 95,10
extern void machine_irq_exception(int exc_no, istate_t *istate);
 
 
/** Returns address of framebuffer device.
*
* @return Address of framebuffer device.
*/
extern uintptr_t machine_get_fb_address(void);
 
 
/branches/arm/kernel/arch/arm32/Makefile.inc
1,6 → 1,5
#
# Copyright (c) 2005 Martin Decky
# Copyright (c) 2007 Jakub Jermar
# Copyright (c) 2007 Jakub Jermar, Michal Kebrt
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
/branches/arm/kernel/arch/arm32/src/drivers/gxemul.c
197,6 → 197,7
}
 
 
/** Acquire console back for kernel. */
void gxemul_grab_console(void)
{
ipl_t ipl = interrupts_disable();
207,6 → 208,7
}
 
 
/** Return console to userspace. */
void gxemul_release_console(void)
{
ipl_t ipl = interrupts_disable();
334,6 → 336,10
}
 
 
/** Prints a character.
*
* @param ch Character to be printed.
*/
void gxemul_debug_putc(char ch)
{
char * addr = 0;
388,7 → 394,10
}
}
 
 
/** Returns address of framebuffer device.
*
* @return Address of framebuffer device.
*/
uintptr_t gxemul_get_fb_address(void)
{
return (uintptr_t) GXEMUL_FB;
/branches/arm/uspace/libc/arch/arm32/include/atomic.h
72,6 → 72,7
*/
static inline void atomic_inc(atomic_t *val) { atomic_add(val, 1); }
 
 
/** Atomic decrement.
*
* @param val Variable to be decremented.
78,6 → 79,7
*/
static inline void atomic_dec(atomic_t *val) { atomic_add(val, -1); }
 
 
/** Atomic pre-increment.
*
* @param val Variable to be incremented.
85,6 → 87,7
*/
static inline long atomic_preinc(atomic_t *val) { return atomic_add(val, 1); }
 
 
/** Atomic pre-decrement.
*
* @param val Variable to be decremented.
92,6 → 95,7
*/
static inline long atomic_predec(atomic_t *val) { return atomic_add(val, -1); }
 
 
/** Atomic post-increment.
*
* @param val Variable to be incremented.
99,6 → 103,7
*/
static inline long atomic_postinc(atomic_t *val) { return atomic_add(val, 1) - 1; }
 
 
/** Atomic post-decrement.
*
* @param val Variable to be decremented.
/branches/arm/uspace/libc/arch/arm32/Makefile.inc
1,5 → 1,5
#
# Copyright (c) 2005 Martin Decky
# Copyright (c) 2007 Michal Kebrt, Pavel Jancik
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
/branches/arm/uspace/libc/arch/arm32/src/psthread.S
40,7 → 40,6
mov pc, lr
 
context_restore:
 
ldmia r0!, {sp, lr}
ldmia r0!, {r4-r11}
 
/branches/arm/boot/arch/arm32/loader/main.h
1,5 → 1,5
/*
* Copyright (c) 2005 Martin Decky
* Copyright (c) 2007 Michal Kebrt
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
/branches/arm/boot/arch/arm32/loader/pack
1,7 → 1,7
#! /bin/sh
 
#
# Copyright (C) 2006 Martin Decky
# Copyright (C) 2007 Michal Kebrt
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without