Changeset 32fffef0 in mainline for kernel/arch/sparc64/include


Ignore:
Timestamp:
2006-08-29T11:06:57Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0fa6044
Parents:
c8ea4a8b
Message:

Define architecture-specific thread sub-constructors and sub-destructors on all architectures.
Define the THREAD_FLAG_USPACE which means that the thread runs in user space.
The forementioned changes allow for allocating of user window buffer on sparc64
threads that execute in userspace.

A lot of formatting and indentation fixes.

Location:
kernel/arch/sparc64/include
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/include/arch.h

    rc8ea4a8b r32fffef0  
    3030 * @{
    3131 */
    32 /** @file
     32/**
     33 * @file
     34 * @brief       Various sparc64-specific macros.
    3335 */
    3436
     
    3941#define ASI_AIUS        0x11    /** Access to secondary context with user privileges. */
    4042
     43#define NWINDOW         8       /** Number of register window sets. */
     44
    4145#endif
    4246
    4347/** @}
    4448 */
    45 
  • kernel/arch/sparc64/include/barrier.h

    rc8ea4a8b r32fffef0  
    5252         * The FLUSH instruction takes address parameter.
    5353         * As such, it may trap if the address is not found in DTLB.
    54          * However, JPS1 implementations are free to ignore the trap.
     54         *
     55         * The entire kernel text is mapped by a locked ITLB and
     56         * DTLB entries. Therefore, when this function is called,
     57         * the %o7 register will always be in the range mapped by
     58         * DTLB.
    5559         */
    5660         
    57         __asm__ volatile ("flush %0\n" :: "r" (0x400000));
     61        __asm__ volatile ("flush %o7\n");
    5862}
    5963
  • kernel/arch/sparc64/include/proc/thread.h

    rc8ea4a8b r32fffef0  
    2727 */
    2828
    29  /** @addtogroup sparc64proc
     29/** @addtogroup sparc64proc
    3030 * @{
    3131 */
     
    3333 */
    3434
    35 #ifndef __sparc64_THREAD_H__
    36 #define __sparc64_THREAD_H__
     35#ifndef KERN_sparc64_THREAD_H_
     36#define KERN_sparc64_THREAD_H_
     37
     38#include <arch/types.h>
     39#include <arch/arch.h>
    3740
    3841typedef struct {
     42        /** Buffer for register windows with userspace content. */
     43        uint8_t *uspace_window_buffer;
    3944} thread_arch_t;
    40 
    41 #define thread_create_arch(t)
    4245
    4346#endif
    4447
    45  /** @}
     48/** @}
    4649 */
    47 
  • kernel/arch/sparc64/include/trap/regwin.h

    rc8ea4a8b r32fffef0  
    5151#define FILL_HANDLER_SIZE               REGWIN_HANDLER_SIZE
    5252
    53 #define NWINDOW         8
    54 
    5553/* Window Save Area offsets. */
    5654#define L0_OFFSET       0
     
    250248/** @}
    251249 */
    252 
Note: See TracChangeset for help on using the changeset viewer.