Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/libcfa/concurrency/kernel_private.h

    r6b0b624 rd6ff3ff  
     1//                              -*- Mode: CFA -*-
    12//
    23// Cforall Version 1.0.0 Copyright (C) 2016 University of Waterloo
     
    910// Author           : Thierry Delisle
    1011// Created On       : Mon Feb 13 12:27:26 2017
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jul 22 09:58:09 2017
    13 // Update Count     : 2
     12// Last Modified By : Thierry Delisle
     13// Last Modified On : --
     14// Update Count     : 0
    1415//
    1516
    16 #pragma once
     17#ifndef KERNEL_PRIVATE_H
     18#define KERNEL_PRIVATE_H
    1719
    1820#include "libhdr.h"
     
    2931extern "C" {
    3032        void disable_interrupts();
    31         void enable_interrupts_noPoll();
     33        void enable_interrupts_noRF();
    3234        void enable_interrupts( DEBUG_CTX_PARAM );
    3335}
     
    4345thread_desc * nextThread(cluster * this);
    4446
    45 //Block current thread and release/wake-up the following resources
    4647void BlockInternal(void);
    4748void BlockInternal(spinlock * lock);
     
    6465void spin(processor * this, unsigned int * spin_count);
    6566
    66 struct event_kernel_t {
     67struct system_proc_t {
     68        processor proc;
     69
    6770        alarm_list_t alarms;
    68         spinlock lock;
     71        spinlock alarm_lock;
     72
     73        bool pending_alarm;
    6974};
    7075
    71 extern event_kernel_t * event_kernel;
    72 
    73 extern thread_local coroutine_desc * volatile this_coroutine;
    74 extern thread_local thread_desc *    volatile this_thread;
    75 extern thread_local processor *      volatile this_processor;
    76 
     76extern cluster * systemCluster;
     77extern system_proc_t * systemProcessor;
     78extern volatile thread_local processor * this_processor;
     79extern volatile thread_local coroutine_desc * this_coroutine;
     80extern volatile thread_local thread_desc * this_thread;
    7781extern volatile thread_local bool preemption_in_progress;
    7882extern volatile thread_local unsigned short disable_preempt_count;
     
    8791extern void ThreadCtxSwitch(coroutine_desc * src, coroutine_desc * dst);
    8892
    89 //-----------------------------------------------------------------------------
    90 // Utils
    91 #define KERNEL_STORAGE(T,X) static char storage_##X[sizeof(T)]
     93#endif //KERNEL_PRIVATE_H
    9294
    9395// Local Variables: //
Note: See TracChangeset for help on using the changeset viewer.