Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions img/makefile
Original file line number Diff line number Diff line change
Expand Up @@ -82,17 +82,17 @@ endif
debug: $(IMAGE)
ifeq ($(NODES),1)
$(EMULATOR)$(IMAGE) | $(TEE) $(OUTPUT) &
$(DEBUGGER)
$(TERM) '$(DEBUGGER)'
else
$(TERM) "$(EMULATOR)$(IMAGE) $(NETWORK) | $(TEE) $(OUTPUT) \
&& $(TCPDUMP) $(APPLICATION).pcap > $(APPLICATION).net \
&& read -p 'Press [Enter] key to close ...'" &
$(DEBUGGER) &
$(TERM) '$(DEBUGGER)' &
sleep 2
$(TERM) "$(PEER_EMULATOR)$(PEER_IMAGE) $(PEER_NETWORK) | $(TEE) $(PEER_OUTPUT) \
&& $(TCPDUMP) $(PEER).pcap > $(PEER).net \
&& read -p 'Press [Enter] key to close ...'" &
$(PEER_DEBUGGER) &
$(TERM) '$(PEER_DEBUGGER)' &
endif

runall: FORCE
Expand Down
14 changes: 7 additions & 7 deletions include/architecture/armv7/armv7_cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ class ARMv7: protected CPU_Common
// Atomic operations
template<typename T>
static T tsl(volatile T & lock) {
register T old;
register T one = 1;
T old;
T one = 1;
ASM("1: ldrexb %0, [%1] \n"
" strexb r3, %2, [%1] \n"
" cmp r3, #0 \n"
Expand All @@ -69,7 +69,7 @@ class ARMv7: protected CPU_Common

template<typename T>
static T finc(volatile T & value) {
register T old;
T old;
if(sizeof(T) == sizeof(Reg8))
ASM("1: ldrexb %0, [%1] \n"
" add %0, #1 \n"
Expand All @@ -93,7 +93,7 @@ class ARMv7: protected CPU_Common

template<typename T>
static T fdec(volatile T & value) {
register T old;
T old;
if(sizeof(T) == sizeof(Reg8))
ASM("1: ldrexb %0, [%1] \n"
" sub %0, #1 \n"
Expand All @@ -117,7 +117,7 @@ class ARMv7: protected CPU_Common

template <typename T>
static T cas(volatile T & value, T compare, T replacement) {
register T old;
T old;
if(sizeof(T) == sizeof(Reg8))
ASM("1: ldrexb %0, [%1] \n"
" cmp %0, %2 \n"
Expand Down Expand Up @@ -187,7 +187,7 @@ class ARMv7_M: public ARMv7

public:
static Flags flags() {
register Reg32 value;
Reg32 value;
ASM("mrs %0, xpsr" : "=r"(value) :);
return value;
}
Expand Down Expand Up @@ -267,7 +267,7 @@ class ARMv7_A: public ARMv7

public:
static Flags flags() {
register Reg32 value;
Reg32 value;
ASM("mrs %0, cpsr_all" : "=r"(value) :);
return value;
}
Expand Down
10 changes: 5 additions & 5 deletions include/architecture/ia32/ia32_cpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -367,21 +367,21 @@ class CPU: private CPU_Common

template<typename T>
static T tsl(volatile T & lock) {
register T old = 1;
T old = 1;
ASM("lock xchg %0, %2" : "=a"(old) : "a"(old), "m"(lock) : "memory");
return old;
}

template<typename T>
static T finc(volatile T & value) {
register T old = 1;
T old = 1;
ASM("lock xadd %0, %2" : "=a"(old) : "a"(old), "m"(value) : "memory");
return old;
}

template<typename T>
static T fdec(volatile T & value) {
register T old = -1;
T old = -1;
ASM("lock xadd %0, %2" : "=a"(old) : "a"(old), "m"(value) : "memory");
return old;
}
Expand Down Expand Up @@ -579,12 +579,12 @@ class CPU: private CPU_Common
}

static int bsf(Log_Addr addr) {
register unsigned int pos;
unsigned int pos;
ASM("bsf %1,%0" : "=a"(pos) : "m"(addr) : );
return pos;
}
static int bsr(Log_Addr addr) {
register int pos = -1;
int pos = -1;
ASM("bsr %1, %0" : "=a"(pos) : "m"(addr) : );
return pos;
}
Expand Down
9 changes: 6 additions & 3 deletions include/system/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,12 @@ namespace EPOS {
}
#endif

#define __HEADER_ARCH(X) <architecture/ARCH/ARCH/**/_##X.h>
#define __HEADER_MACH(X) <machine/MACH/MACH/**/_##X.h>
#define __HEADER_MMOD(X) <machine/MACH/MMOD/MMOD/**/_##X.h>
#define __TOKEN_CONCATENATE_INDIRECTION(X, Y) X ## Y
#define __TOKEN_CONCATENATE(X, Y) __TOKEN_CONCATENATE_INDIRECTION(X, Y)

#define __HEADER_ARCH(X) <architecture/ARCH/__TOKEN_CONCATENATE(ARCH, _##X).h>
#define __HEADER_MACH(X) <machine/MACH/__TOKEN_CONCATENATE(MACH, _##X).h>
#define __HEADER_MMOD(X) <machine/MACH/MMOD/__TOKEN_CONCATENATE(MMOD, _##X).h>
#define __HEADER_TRAN(X) <transducer/X.h>
#define __APPL_TRAITS_T(X) <../app/X/X##_traits.h>
#define __APPL_TRAITS(X) __APPL_TRAITS_T(X)
Expand Down
5 changes: 4 additions & 1 deletion include/system/types.h
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
// EPOS Common Types and Type Management System

typedef __SIZE_TYPE__ size_t;

#ifndef __types_h
#define __types_h

#include <system/config.h>

typedef __SIZE_TYPE__ size_t;

__BEGIN_API

// Memory allocators
Expand Down
4 changes: 2 additions & 2 deletions makedefs
Original file line number Diff line number Diff line change
Expand Up @@ -181,13 +181,13 @@ atmega_DATA_NAME := .data
atmega_IMG_SUFFIX := .hex

MACH_CC_FLAGS := $($(MACH)_CC_FLAGS) -O -nostdinc -Wno-builtin-declaration-mismatch -Wno-array-bounds -fno-stack-protector -fno-pie
MACH_CXX_FLAGS := $($(MACH)_CC_FLAGS) -O -std=c++14 -nostdinc --no-exceptions --no-rtti --no-use-cxa-atexit --no-asynchronous-unwind-tables -fno-stack-protector -fdata-sections -ffunction-sections -Wall -Werror -Wno-builtin-declaration-mismatch -Wno-array-bounds -Wno-attribute-alias -Wno-placement-new -Wno-class-memaccess -fno-pie
MACH_CXX_FLAGS := $($(MACH)_CC_FLAGS) -O -std=c++17 -nostdinc --no-exceptions --no-rtti --no-use-cxa-atexit --no-asynchronous-unwind-tables -fno-stack-protector -fdata-sections -ffunction-sections -Wall -Werror -Wno-builtin-declaration-mismatch -Wno-array-bounds -Wno-attribute-alias -Wno-placement-new -Wno-class-memaccess -fno-pie
MACH_AS_FLAGS := $($(MACH)_AS_FLAGS)
MACH_LD_FLAGS := $($(MACH)_LD_FLAGS)
MACH_CODE_NAME := $($(MACH)_CODE_NAME)
MACH_DATA_NAME := $($(MACH)_DATA_NAME)
MACH_EMULATOR := $($(MACH)_EMULATOR)
MACH_DEBUGGER := $(TERM) $($(MACH)_DEBUGGER) -ex "target remote:1235" -ex "set confirm off"
MACH_DEBUGGER := $($(MACH)_DEBUGGER) -ex "target remote:1235" -ex "set confirm off"
MACH_FLASHER := $($(MACH)_FLASHER)
MACH_MAGIC := $($(MACH)_MAGIC)
MACH_IMGSUFF := $($(MACH)_IMG_SUFFIX)
Expand Down
2 changes: 1 addition & 1 deletion src/machine/pc/pc_ic_entry.cc
Original file line number Diff line number Diff line change
Expand Up @@ -806,7 +806,7 @@ void IC::exc_not(Reg32 eip, Reg32 cs, Reg32 eflags, Reg32 error)

void IC::exc_pf(Reg32 eip, Reg32 cs, Reg32 eflags, Reg32 error)
{
register Reg32 fr = CPU::fr();
Reg32 fr = CPU::fr();

if(CPU::cr2() == reinterpret_cast<CPU::Reg32>(&__exit)) {
db<IC,Machine>(INF) << "IC::exc_pf[address=" << reinterpret_cast<void *>(CPU::cr2()) << "]: final return!" << endl;
Expand Down
8 changes: 4 additions & 4 deletions src/setup/setup_legacy_pc.cc
Original file line number Diff line number Diff line change
Expand Up @@ -880,7 +880,7 @@ void PC_Setup::call_next()
int cpu_id = CPU::id();

// Check for next stage and obtain the entry point
register Log_Addr ip;
Log_Addr ip;
if(si->lm.has_ini) {
db<Setup>(TRC) << "Executing system's global constructors ..." << endl;
reinterpret_cast<void (*)()>((void *)si->lm.sys_entry)();
Expand All @@ -894,7 +894,7 @@ void PC_Setup::call_next()
// Bootstrap CPU uses a full stack, while non-boot get reduced ones
// The 2 integers on the stacks are room for return addresses used
// in some EPOS architectures
register Log_Addr sp = SYS_STACK + Traits<System>::STACK_SIZE * (cpu_id + 1) - 2 * sizeof(int);
Log_Addr sp = SYS_STACK + Traits<System>::STACK_SIZE * (cpu_id + 1) - 2 * sizeof(int);

db<Setup>(TRC) << "PC_Setup::call_next(ip=" << ip << ",sp=" << sp << ") => ";
if(si->lm.has_ini)
Expand Down Expand Up @@ -1110,7 +1110,7 @@ void _start()

// Move the boot image to after SETUP, so there will be nothing else below SETUP to be preserved
// SETUP code + data + 1 stack per CPU
register char * dst = MMU::align_page(entry + size + Traits<Machine>::CPUS * sizeof(MMU::Page));
char * dst = MMU::align_page(entry + size + Traits<Machine>::CPUS * sizeof(MMU::Page));
memcpy(dst, bi, si->bm.img_size);

// Passes a pointer to the just allocated stack pool to other CPUs
Expand Down Expand Up @@ -1159,7 +1159,7 @@ void _start()
// SP = "entry" + "size" + #CPU * sizeof(Page)
// Be careful: we'll loose our old stack now, so everything we still
// need to reach PC_Setup() must be in regs or globals!
register char * sp = const_cast<char *>(Stacks) - sizeof(MMU::Page) * APIC::id();
char * sp = const_cast<char *>(Stacks) - sizeof(MMU::Page) * APIC::id();
ASM("movl %0, %%esp" : : "r" (sp));

// Pass the boot image to SETUP
Expand Down