// EPOS Configuration Engine // // Author: Guto // Documentation: $EPOS/doc/config Created: 18 Fev 1998 #ifdef linux #undef linux #endif #ifndef __config_h #define __config_h #include //============================================================================ // APPLICATION-SPECIFIC CONFIGURATION //============================================================================ #ifndef ANALYZE #ifdef CONFIG_KEYS #include CONFIG_KEYS #else #include <../default.key> #endif #endif //============================================================================ // FRAMEWORK //============================================================================ #ifndef ANALYZE #if #CONF_FRAMEWORK (Uniform) #define __FRAMEWORK_H __HEADER_FMK(uniform) #elif #CONF_FRAMEWORK (Individual) #define __FRAMEWORK_H __HEADER_FMK(individual) #else #error Configuration: "Framework" not selected! #endif #endif //============================================================================ // ID //============================================================================ __EXPORT_ASP(Id, Pointer) __EXPORT_ASP(Id, Local_Id) __EXPORT_ASP(Id, Global_Id) __EXPORT_ASP(Id, Capability) #ifdef ANALYZE __UNBIND_ASP(Id) #else #if ! #CONF_ID #error Configuration: ID not selected! #endif #if #CONF_ID (Pointer) #if ! #BOUND (Id) __BIND_ASP(Id, Pointer) #assert BOUND (Id) #else #error Configuration: Pointer is mutually exclusive and Id is already bound! #endif #define __POINTER_H __HEADER_ASP(id/pointer) #endif #if #CONF_ID (Local_Id) #if ! #BOUND (Id) __BIND_ASP(Id, Local_Id) #assert BOUND (Id) #else #error Configuration: Local_Id is mutually exclusive and Id is already bound! #endif #define __LOCAL_ID_H __HEADER_ASP(id/local_id) #endif #if #CONF_ID (Global_Id) #if ! #BOUND (Id) __BIND_ASP(Id, Global_Id) #assert BOUND (Id) #else #error Configuration: Global_Id is mutually exclusive and Id is already bound! #endif #define __GLOBAL_ID_H __HEADER_ASP(id/global_id) #endif #if #CONF_ID (Capability) #if ! #BOUND (Id) __BIND_ASP(Id, Capability) #assert BOUND (Id) #else #error Configuration: Capability is mutually exclusive and Id is already bound! #endif #define __CAPABILITY_H __HEADER_ASP(id/capability) #endif #endif //============================================================================ // CPU //============================================================================ __EXPORT_MED(CPU, IA32) __EXPORT_MED(CPU, PPC32) __EXPORT_MED(CPU, ARM) __EXPORT_MED(CPU, LANai) __EXPORT_MED(CPU, H8) __EXPORT_MED(CPU, AVR8) #ifdef ANALYZE __UNBIND_MED(CPU) #else #if ! #CONF_ARCH #error Configuration: ARCH not selected! #endif #if #CONF_ARCH (IA32) #if ! #BOUND (CPU) __BIND_MED(CPU, IA32) #assert BOUND (CPU) #else #error Configuration: IA32 is mutually exclusive and CPU is already bound! #endif #define __IA32_H __HEADER_MED(cpu/ia32) #endif #if #CONF_ARCH (PPC32) #if ! #BOUND (CPU) __BIND_MED(CPU, PPC32) #assert BOUND (CPU) #else #error Configuration: PPC32 is mutually exclusive and CPU is already bound! #endif #define __PPC32_H __HEADER_MED(cpu/ppc32) #endif #if #CONF_ARCH (ARM) #if ! #BOUND (CPU) __BIND_MED(CPU, ARM) #assert BOUND (CPU) #else #error Configuration: ARM is mutually exclusive and CPU is already bound! #endif #define __ARM_H __HEADER_MED(cpu/arm) #endif #if #CONF_ARCH (LANai) #if ! #BOUND (CPU) __BIND_MED(CPU, LANai) #assert BOUND (CPU) #else #error Configuration: LANai is mutually exclusive and CPU is already bound! #endif #define __LANAI_H __HEADER_MED(cpu/lanai) #endif #if #CONF_ARCH (H8) #if ! #BOUND (CPU) __BIND_MED(CPU, H8) #assert BOUND (CPU) #else #error Configuration: H8 is mutually exclusive and CPU is already bound! #endif #define __H8_H __HEADER_MED(cpu/h8) #endif #if #CONF_ARCH (AVR8) #if ! #BOUND (CPU) __BIND_MED(CPU, AVR8) #assert BOUND (CPU) #else #error Configuration: AVR8 is mutually exclusive and CPU is already bound! #endif #define __AVR8_H __HEADER_MED(cpu/avr8) #endif #endif //============================================================================ // TSC //============================================================================ __EXPORT_MED(TSC, IA32_TSC) __EXPORT_MED(TSC, PPC32_TSC) __EXPORT_MED(TSC, ARM_TSC) __EXPORT_MED(TSC, LANai_TSC) __EXPORT_MED(TSC, H8_TSC) __EXPORT_MED(TSC, AVR8_TSC) #ifdef ANALYZE __UNBIND_MED(TSC) #else #if #CONF_ARCH (IA32) #if ! #BOUND (TSC) __BIND_MED(TSC, IA32_TSC) #assert BOUND (TSC) #else #error Configuration: IA32_TSC is mutually exclusive and TSC is already bound! #endif #define __IA32_TSC_H __HEADER_MED(tsc/ia32_tsc) #endif #if #CONF_ARCH (PPC32) #if ! #BOUND (TSC) __BIND_MED(TSC, PPC32_TSC) #assert BOUND (TSC) #else #error Configuration: PPC32_TSC is mutually exclusive and TSC is already bound! #endif #define __PPC32_TSC_H __HEADER_MED(tsc/ppc32_tsc) #endif #if #CONF_ARCH (ARM) #if ! #BOUND (TSC) __BIND_MED(TSC, ARM_TSC) #assert BOUND (TSC) #else #error Configuration: ARM_TSC is mutually exclusive and TSC is already bound! #endif #define __ARM_TSC_H __HEADER_MED(tsc/arm_tsc) #endif #if #CONF_ARCH (LANai) #if ! #BOUND (TSC) __BIND_MED(TSC, LANai_TSC) #assert BOUND (TSC) #else #error Configuration: LANai_TSC is mutually exclusive and TSC is already bound! #endif #define __LANAI_TSC_H __HEADER_MED(tsc/lanai_tsc) #endif #if #CONF_ARCH (H8) #if ! #BOUND (TSC) __BIND_MED(TSC, H8_TSC) #assert BOUND (TSC) #else #error Configuration: H8_TSC is mutually exclusive and TSC is already bound! #endif #define __H8_TSC_H __HEADER_MED(tsc/h8_tsc) #endif #if #CONF_ARCH (AVR8) #if ! #BOUND (TSC) __BIND_MED(TSC, AVR8_TSC) #assert BOUND (TSC) #else #error Configuration: AVR8_TSC is mutually exclusive and TSC is already bound! #endif #define __AVR8_TSC_H __HEADER_MED(tsc/avr8_tsc) #endif #endif //============================================================================ // MMU //============================================================================ __EXPORT_MED(MMU, IA32_MMU) __EXPORT_MED(MMU, PPC32_MMU) __EXPORT_MED(MMU, ARM_MMU) __EXPORT_MED(MMU, LANai_MMU) __EXPORT_MED(MMU, H8_MMU) __EXPORT_MED(MMU, AVR8_MMU); #ifdef ANALYZE __UNBIND_MED(MMU) #else #if #CONF_ARCH (IA32) #if ! #BOUND (MMU) __BIND_MED(MMU, IA32_MMU) #assert BOUND (MMU) #else #error Configuration: IA32_MMU is mutually exclusive and MMU is already bound! #endif #define __IA32_MMU_H __HEADER_MED(mmu/ia32_mmu) #endif #if #CONF_ARCH (PPC32) #if ! #BOUND (MMU) __BIND_MED(MMU, PPC32_MMU) #assert BOUND (MMU) #else #error Configuration: PPC32_MMU is mutually exclusive and MMU is already bound! #endif #define __PPC32_MMU_H __HEADER_MED(mmu/ppc32_mmu) #endif #if #CONF_ARCH (ARM) #if ! #BOUND (MMU) __BIND_MED(MMU, ARM_MMU) #assert BOUND (MMU) #else #error Configuration: ARM_MMU is mutually exclusive and MMU is already bound! #endif #define __ARM_MMU_H __HEADER_MED(mmu/arm_mmu) #endif #if #CONF_ARCH (LANAI) #if ! #BOUND (MMU) __BIND_MED(MMU, LANai_MMU) #assert BOUND (MMU) #else #error Configuration: LANai_MMU is mutually exclusive and MMU is already bound! #endif #define __LANAI_MMU_H __HEADER_MED(mmu/lanai_mmu) #endif #if #CONF_ARCH (H8) #if ! #BOUND (MMU) __BIND_MED(MMU, H8_MMU) #assert BOUND (MMU) #else #error Configuration: H8_MMU is mutually exclusive and MMU is already bound! #endif #define __H8_MMU_H __HEADER_MED(mmu/h8_mmu) #endif #if #CONF_ARCH (AVR8) #if ! #BOUND (MMU) __BIND_MED(MMU, AVR8_MMU) #assert BOUND (MMU) #else #error Configuration: AVR8_MMU is mutually exclusive and MMU is already bound! #endif #define __AVR8_MMU_H __HEADER_MED(mmu/avr8_mmu) #endif #endif //============================================================================ // MACHINE //============================================================================ __EXPORT_MED(Machine, PC) __EXPORT_MED(Machine, Khomp) __EXPORT_MED(Machine, iPAQ) //__EXPORT_MED(Machine, Myrinet) __EXPORT_MED(Machine, RCX) __EXPORT_MED(Machine, AT90S) __EXPORT_MED(Machine, AT86RF) #ifdef ANALYZE __UNBIND_MED(Machine) #else #if ! #CONF_MACH #error Configuration: MACH not selected! #endif #if #CONF_MACH (PC) #if ! #BOUND (Machine) __BIND_MED(Machine, PC) #assert BOUND (Machine) #else #error Configuration: PC is mutually exclusive and Machine is already bound! #endif #define __PC_H __HEADER_MED(machine/pc) #endif #if #CONF_MACH (Khomp) #if ! #BOUND (Machine) __BIND_MED(Machine, Khomp) #assert BOUND (Machine) #else #error Configuration: Khomp is mutually exclusive and Machine is already bound! #endif #define __KHOMP_H __HEADER_MED(machine/khomp) #endif #if #CONF_MACH (iPAQ) #if ! #BOUND (Machine) __BIND_MED(Machine, iPAQ) #assert BOUND (Machine) #else #error Configuration: iPAQ is mutually exclusive and Machine is already bound! #endif #define __IPAQ_H __HEADER_MED(machine/ipaq) #endif //#if #CONF_MACH (Myrinet) //#if ! #BOUND (Machine) //__BIND_MED(Machine, Myrinet) //#assert BOUND (Machine) //#else //#error Configuration: Myrinet is mutually exclusive and Machine is already bound! //#endif //#define __MYRINET_H __HEADER_MED(machine/myrinet) //#endif #if #CONF_MACH (RCX) #if ! #BOUND (Machine) __BIND_MED(Machine, RCX) #assert BOUND (Machine) #else #error Configuration: RCX is mutually exclusive and Machine is already bound! #endif #define __RCX_H __HEADER_MED(machine/rcx) #endif #if #CONF_MACH (AT90S) #if ! #BOUND (Machine) __BIND_MED(Machine, AT90S) #assert BOUND (Machine) #else #error Configuration: AT90S is mutually exclusive and Machine is already bound! #endif #define __AT90S_H __HEADER_MED(machine/at90s) #endif #if #CONF_MACH (AT86RF) #if ! #BOUND (Machine) __BIND_MED(Machine, AT86RF) #assert BOUND (Machine) #else #error Configuration: AT86RF is mutually exclusive and Machine is already bound! #endif #define __AT86RF_H __HEADER_MED(machine/at86rf) #endif #endif //============================================================================ // IC //============================================================================ __EXPORT_MED(IC, PC_IC) __EXPORT_MED(IC, Khomp_IC) __EXPORT_MED(IC, iPAQ_IC) __EXPORT_MED(IC, Myrinet_IC) __EXPORT_MED(IC, RCX_IC) __EXPORT_MED(IC, AT90S_IC) __EXPORT_MED(IC, AT86RF_IC) #ifdef ANALYZE __UNBIND_MED(IC) #else #if #CONF_MACH (PC) #if ! #BOUND (IC) __BIND_MED(IC, PC_IC) #assert BOUND (IC) #else #error Configuration: PC_IC is mutually exclusive and IC is already bound! #endif #define __PC_IC_H __HEADER_MED(ic/pc_ic) #endif #if #CONF_MACH (Khomp) #if ! #BOUND (IC) __BIND_MED(IC, Khomp_IC) #assert BOUND (IC) #else #error Configuration: Khomp_IC is mutually exclusive and IC is already bound! #endif #define __KHOMP_IC_H __HEADER_MED(ic/khomp_ic) #endif #if #CONF_MACH (iPAQ) #if ! #BOUND (IC) __BIND_MED(IC, iPAQ_IC) #assert BOUND (IC) #else #error Configuration: iPAQ_IC is mutually exclusive and IC is already bound! #endif #define __IPAQ_IC_H __HEADER_MED(ic/ipaq_ic) #endif #if #CONF_MACH (Myrinet) #if ! #BOUND (IC) __BIND_MED(IC, Myrinet_IC) #assert BOUND (IC) #else #error Configuration: Myrinet_IC is mutually exclusive and IC is already bound! #endif #define __MYRINET_IC_H __HEADER_MED(ic/myrinet_ic) #endif #if #CONF_MACH (RCX) #if ! #BOUND (IC) __BIND_MED(IC, RCX_IC) #assert BOUND (IC) #else #error Configuration: RCX_IC is mutually exclusive and IC is already bound! #endif #define __RCX_IC_H __HEADER_MED(ic/rcx_ic) #endif #if #CONF_MACH (AT90S) #if ! #BOUND (IC) __BIND_MED(IC, AT90S_IC) #assert BOUND (IC) #else #error Configuration: AT90S_IC is mutually exclusive and IC is already bound! #endif #define __AT90S_IC_H __HEADER_MED(ic/at90s_ic) #endif #if #CONF_MACH (AT86RF) #if ! #BOUND (IC) __BIND_MED(IC, AT86RF_IC) #assert BOUND (IC) #else #error Configuration: AT86RF_IC is mutually exclusive and IC is already bound! #endif #define __AT86RF_IC_H __HEADER_MED(ic/at86rf_ic) #endif #endif //============================================================================ // TIMER //============================================================================ __EXPORT_MED(Timer, PC_Timer) #ifdef ANALYZE __UNBIND_MED(Timer) #else #if #CONF_MACH (PC) #if ! #BOUND (Timer) __BIND_MED(Timer, PC_Timer) #assert BOUND (Timer) #else #error Configuration: PC_Timer is mutually exclusive and Timer is already bound! #endif #define __PC_TIMER_H __HEADER_MED(timer/pc_timer) #endif #endif //============================================================================ // TIMEPIECE //============================================================================ __EXPORT_ABS(Timepiece, Clock) __EXPORT_ABS(Timepiece, Alarm) __EXPORT_ABS(Timepiece, Chronometer) #ifdef ANALYZE __UNBIND_ABS(Timepiece) #else #if #CONF_TIMEPIECE (Clock) #if ! #BOUND (Timepiece) __BIND_ABS(Timepiece, Clock) #assert BOUND (Timepiece) #endif #define __CLOCK_H __HEADER_ABS(timepiece/clock) #endif #if #CONF_TIMEPIECE (Alarm) #if ! #BOUND (Timepiece) __BIND_ABS(Timepiece, Alarm) #assert BOUND (Timepiece) #endif #define __ALARM_H __HEADER_ABS(timepiece/alarm) #endif #if #CONF_TIMEPIECE (Chronometer) #if ! #BOUND (Timepiece) __BIND_ABS(Timepiece, Chronometer) #assert BOUND (Timepiece) #endif #define __CHRONOMETER_H __HEADER_ABS(timepiece/chronometer) #endif #endif //============================================================================ // RTC //============================================================================ __EXPORT_MED(RTC, PC_RTC) __EXPORT_MED(RTC, Khomp_RTC) __EXPORT_MED(RTC, iPAQ_RTC) #ifdef ANALYZE __UNBIND_MED(RTC) #else #if #CONF_MACH (PC) #if ! #BOUND (RTC) __BIND_MED(RTC, PC_RTC) #assert BOUND (RTC) #else #error Configuration: PC_RTC is mutually exclusive and RTC is already bound! #endif #define __PC_RTC_H __HEADER_MED(rtc/pc_rtc) #endif #if #CONF_MACH (Khomp) #if ! #BOUND (RTC) __BIND_MED(RTC, Khomp_RTC) #assert BOUND (RTC) #else #error Configuration: Khomp_RTC is mutually exclusive and RTC is already bound! #endif #define __KHOMP_RTC_H __HEADER_MED(rtc/khomp_rtc) #endif #if #CONF_MACH (iPAQ) #if ! #BOUND (RTC) __BIND_MED(RTC, iPAQ_RTC) #assert BOUND (RTC) #else #error Configuration: iPAQ_RTC is mutually exclusive and RTC is already bound! #endif #define __IPAQ_RTC_H __HEADER_MED(rtc/ipaq_rtc) #endif #if ! #BOUND (RTC) __UNBIND_MED(RTC) #endif #endif //============================================================================ // PCI //============================================================================ __EXPORT_MED(PCI, PC_PCI) __EXPORT_MED(PCI, Khomp_PCI) #ifdef ANALYZE __UNBIND_MED(PCI) #else #if #CONF_MACH (PC) #if ! #BOUND (PCI) __BIND_MED(PCI, PC_PCI) #assert BOUND (PCI) #else #error Configuration: PC_PCI is mutually exclusive and PCI is already bound! #endif #define __PC_PCI_H __HEADER_MED(pci/pc_pci) #endif #if #CONF_MACH (Khomp) #if ! #BOUND (PCI) __BIND_MED(PCI, Khomp_PCI) #assert BOUND (PCI) #else #error Configuration: Khomp_PCI is mutually exclusive and PCI is already bound! #endif #define __KHOMP_PCI_H __HEADER_MED(pci/khomp_pci) #endif #endif //============================================================================ // DISPLAY //============================================================================ __EXPORT_MED(Display, PC_Display) __EXPORT_MED(Display, Khomp_Display) __EXPORT_MED(Display, iPAQ_Display) __EXPORT_MED(Display, Myrinet_Display) __EXPORT_MED(Display, RCX_Display) __EXPORT_MED(Display, AT90S_Display) __EXPORT_MED(Display, AT86RF_Display) #ifdef ANALYZE __UNBIND_MED(Display) #else #if #CONF_MACH (PC) #if ! #BOUND (Display) __BIND_MED(Display, PC_Display) #assert BOUND (Display) #else #error Configuration: PC_Display is mutually exclusive and Display is already bound! #endif #define __PC_DISPLAY_H __HEADER_MED(display/pc_display) #endif #if #CONF_MACH (Khomp) #if ! #BOUND (Display) __BIND_MED(Display, Khomp_Display) #assert BOUND (Display) #else #error Configuration: Khomp_Display is mutually exclusive and Display is already bound! #endif #define __KHOMP_DISPLAY_H __HEADER_MED(display/khomp_display) #endif #if #CONF_MACH (iPAQ) #if ! #BOUND (Display) __BIND_MED(Display, iPAQ_Display) #assert BOUND (Display) #else #error Configuration: iPAQ_Display is mutually exclusive and Display is already bound! #endif #define __IPAQ_DISPLAY_H __HEADER_MED(display/ipaq_display) #endif #if #CONF_MACH (Myrinet) #if ! #BOUND (Display) __BIND_MED(Display, Myrinet_Display) #assert BOUND (Display) #else #error Configuration: Myrinet_Display is mutually exclusive and Display is already bound! #endif #define __MYRINET_DISPLAY_H __HEADER_MED(display/myrinet_display) #endif #if #CONF_MACH (RCX) #if ! #BOUND (Display) __BIND_MED(Display, RCX_Display) #assert BOUND (Display) #else #error Configuration: RCX_Display is mutually exclusive and Display is already bound! #endif #define __RCX_DISPLAY_H __HEADER_MED(display/rcx_display) #endif #if #CONF_MACH (AT90S) #if ! #BOUND (Display) __BIND_MED(Display, AT90S_Display) #assert BOUND (Display) #else #error Configuration: AT90S_Display is mutually exclusive and Display is already bound! #endif #define __AT90S_DISPLAY_H __HEADER_MED(display/at90s_display) #endif #if #CONF_MACH (AT86RF) #if ! #BOUND (Display) __BIND_MED(Display, AT86RF_Display) #assert BOUND (Display) #else #error Configuration: AT86RF_Display is mutually exclusive and Display is already bound! #endif #define __AT86RF_DISPLAY_H __HEADER_MED(display/at86rf_display) #endif #endif //============================================================================ // THREAD //============================================================================ __EXPORT_ABS(Thread, Exclusive_Thread) __EXPORT_ABS(Thread, Cooperative_Thread) __EXPORT_ABS(Thread, Concurrent_Thread) #ifdef ANALYZE __UNBIND_ABS(Thread) #else #if #CONF_THREAD (Exclusive_Thread) #if ! #BOUND (Thread) __BIND_ABS(Thread, Exclusive_Thread) #assert BOUND (Thread) #else #error Configuration: Exclusive_Thread is mutually exclusive and Thread is already bound! #endif #define __EXCLUSIVE_THREAD_H __HEADER_ABS(thread/exclusive_thread) #endif #if #CONF_THREAD (Cooperative_Thread) #if ! #BOUND (Thread) __BIND_ABS(Thread, Cooperative_Thread) #assert BOUND (Thread) #else #error Configuration: Cooperative_Thread is mutually exclusive and Thread is already bound! #endif #define __COOPERATIVE_THREAD_H __HEADER_ABS(thread/cooperative_thread) #endif #if #CONF_THREAD (Concurrent_Thread) #if ! #BOUND (Thread) __BIND_ABS(Thread, Concurrent_Thread) #assert BOUND (Thread) #else #error Configuration: Concurrent_Thread is mutually exclusive and Thread is already bound! #endif #define __CONCURRENT_THREAD_H __HEADER_ABS(thread/concurrent_thread) #endif #if ! #BOUND (Thread) __UNBIND_ABS(Thread) #endif #endif //============================================================================ // SEGMENT //============================================================================ __EXPORT_ABS(Segment, Contiguous_Segment) __EXPORT_ABS(Segment, Static_Segment) __EXPORT_ABS(Segment, Dynamic_Segment) #ifdef ANALYZE __UNBIND_ABS(Segment) #else #if #CONF_SEGMENT (Contiguous_Segment) #if ! #BOUND (Segment) __BIND_ABS(Segment, Contiguous_Segment) #assert BOUND (Segment) #endif #define __CONTIGUOUS_SEGMENT_H __HEADER_ABS(segment/contiguous_segment) #endif #if #CONF_SEGMENT (Static_Segment) #if ! #BOUND (Segment) __BIND_ABS(Segment, Static_Segment) #assert BOUND (Segment) #endif #define __STATIC_SEGMENT_H __HEADER_ABS(segment/static_segment) #endif #if #CONF_SEGMENT (Dynamic_Segment) #if ! #BOUND (Segment) __BIND_ABS(Segment, Dynamic_Segment) #assert BOUND (Segment) #endif #define __DYNAMIC_SEGMENT_H __HEADER_ABS(segment/dynamic_segment) #endif #if ! #BOUND (Segment) __UNBIND_ABS(Segment) #endif #endif //============================================================================ // ADDRESS_SPACE //============================================================================ __EXPORT_ABS(Address_Space, Flat_AS) __EXPORT_ABS(Address_Space, Paged_AS) __EXPORT_ABS(Address_Space, Segmented_AS) __EXPORT_ABS(Address_Space, Paged_Segmented_AS) #ifdef ANALYZE __UNBIND_ABS(Address_Space) #else #if #CONF_ADDRESS_SPACE (Flat_AS) #if ! #BOUND (Address_Space) __BIND_ABS(Address_Space, Flat_AS) #assert BOUND (Address_Space) #endif #define __FLAT_AS_H __HEADER_ABS(address_space/flat_as) #endif #if #CONF_ADDRESS_SPACE (Paged_AS) #if ! #BOUND (Address_Space) __BIND_ABS(Address_Space, Paged_AS) #assert BOUND (Address_Space) #endif #define __PAGED_AS_H __HEADER_ABS(address_space/paged_as) #endif #if #CONF_ADDRESS_SPACE (Segmented_AS) #if ! #BOUND (Address_Space) __BIND_ABS(Address_Space, Segmented_AS) #assert BOUND (Address_Space) #endif #define __SEGMENTED_AS_H __HEADER_ABS(address_space/segmented_as) #endif #if #CONF_ADDRESS_SPACE (Paged_Segmented_AS) #if ! #BOUND (Address_Space) __BIND_ABS(Address_Space, Paged_Segmented_AS) #assert BOUND (Address_Space) #endif #define __PAGED_SEGMENTED_AS_H __HEADER_ABS(address_space/paged_segmented_as) #endif #endif //============================================================================ // NETwORK //============================================================================ __EXPORT_ABS(Network, Myrinet) #ifdef ANALYZE __UNBIND_ABS(Network) #else #if #CONF_NETWORK ( Myrinet) #if ! #BOUND (Network) __BIND_ABS(Network, Myrinet) #assert BOUND (Network) #endif #define __MYRINET_H __HEADER_ABS(network/myrinet) #endif #endif //============================================================================ // NIC //============================================================================ __EXPORT_MED(NIC, Dummy) __EXPORT_MED(NIC, Myrinet9) #ifdef ANALYZE __UNBIND_MED(NIC) #else #if #CONF_NIC (Dummy) #if ! #BOUND (NIC) __BIND_MED(NIC, Dummy) #assert BOUND (NIC) #endif #define __DUMMY_H __HEADER_MED(nic/dummy) #endif #if #CONF_NIC(Myrinet9) #if ! #BOUND (NIC) __BIND_MED(NIC, Myrinet9) #assert BOUND (NIC) #endif #define __MYRINET9_H __HEADER_MED(nic/myrinet9) #endif #endif //============================================================================ // THINGS EVERBODY NEEDS //============================================================================ #include #include #include #include #include #include #include // #ifdef __FRAMEWORK_H // #include __FRAMEWORK_H // #endif #endif //============================================================================ // TASK //============================================================================ __EXPORT_ABS(Task, Single_Task) __EXPORT_ABS(Task, Mult_Task) #ifdef ANALYZE __UNBIND_ABS(Task) #else #if ! #BOUND (Task) //__BIND_ABS(Task, Single_Task) #assert BOUND (Task) #endif #define __SINGLE_TASK_H __HEADER_ABS(task/single_task) //#endif #if ! #BOUND (Task) __BIND_ABS(Task, Mult_Task) #assert BOUND (Task) //#endif #define __MULT_TASK_H __HEADER_ABS(task/mult_task) #endif #endif //============================================================================ // CRYPTER //============================================================================ __EXPORT_ASP(Crypter, Simple) __EXPORT_ASP(Crypter, Simmetric) __EXPORT_ASP(Crypter, Assimetric) #ifdef ANALYZE __UNBIND_ASP(Crypter) #else #if #CONF_CRYPTER (Simple) #if ! #BOUND (Crypter) __BIND_ASP(Crypter, Simple) #assert BOUND (Crypter) #else #error Configuration: Simple is mutually exclusive and Crypter is already bound! #endif #define __SIMPLE_H __HEADER_ASP(crypter/simple) #endif #if #CONF_CRYPTER (Simmetric) #if ! #BOUND (Crypter) __BIND_ASP(Crypter, Simmetric) #assert BOUND (Crypter) #else #error Configuration: Simmetric is mutually exclusive and Crypter is already bound! #endif #define __SIMMETRIC_H __HEADER_ASP(crypter/simmetric) #endif #if #CONF_CRYPTER (Assimetric) #if ! #BOUND (Crypter) __BIND_ASP(Crypter, Assimetric) #assert BOUND (Crypter) #else #error Configuration: Assimetric is mutually exclusive and Crypter is already bound! #endif #define __ASSIMETRIC_H __HEADER_ASP(crypter/assimetric) #endif #endif