/trunk/kernel/generic/include/mm/slab.h |
---|
71,9 → 71,9 |
typedef struct { |
link_t link; |
count_t busy; /**< Count of full slots in magazine */ |
count_t size; /**< Number of slots in magazine */ |
void *objs[0]; /**< Slots in magazine */ |
count_t busy; /**< Count of full slots in magazine */ |
count_t size; /**< Number of slots in magazine */ |
void *objs[]; /**< Slots in magazine */ |
} slab_magazine_t; |
typedef struct { |
/trunk/kernel/Makefile |
---|
38,6 → 38,7 |
DEFS = -D$(ARCH) -DARCH=\"$(ARCH)\" -DRELEASE=\"$(RELEASE)\" "-DNAME=\"$(NAME)\"" -DKERNEL |
CFLAGS = -fno-builtin -fomit-frame-pointer -Wall -Wmissing-prototypes -Werror -O3 -nostdlib -nostdinc -Igeneric/include/ |
#SUNCC_CFLAGS = -xO3 -Igeneric/include/ -xnolib -xc99=all |
LFLAGS = -M |
AFLAGS = |
120,6 → 121,7 |
ifeq ($(COMPILER),gcc_native) |
CC = gcc |
AS_CC = gcc |
AS = as |
LD = ld |
OBJCOPY = objcopy |
129,6 → 131,7 |
ifeq ($(COMPILER),icc_native) |
CC = icc |
AS_CC = gcc |
AS = as |
LD = ld |
OBJCOPY = objcopy |
138,6 → 141,7 |
ifeq ($(COMPILER),suncc_native) |
CC = suncc |
AS_CC = gcc |
AS = as |
LD = ld |
OBJCOPY = objcopy |
147,6 → 151,7 |
ifeq ($(COMPILER),gcc_cross) |
CC = $(TOOLCHAIN_DIR)/bin/$(TARGET)-gcc |
AS_CC = $(CC) |
AS = $(TOOLCHAIN_DIR)/bin/$(TARGET)-as |
LD = $(TOOLCHAIN_DIR)/bin/$(TARGET)-ld |
OBJCOPY = $(TOOLCHAIN_DIR)/bin/$(TARGET)-objcopy |
331,7 → 336,7 |
$(OBJDUMP) -d kernel.raw > kernel.disasm |
%.o: %.S |
$(CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@ |
$(AS_CC) $(DEFS) $(CFLAGS) -D__ASM__ -c $< -o $@ |
%.o: %.s |
$(AS) $(AFLAGS) $< -o $@ |
/trunk/kernel/arch/ia32/include/asm.h |
---|
60,12 → 60,12 |
static inline void cpu_halt(void) |
{ |
asm volatile ("hlt\n"); |
}; |
} |
static inline void cpu_sleep(void) |
{ |
asm volatile ("hlt\n"); |
}; |
} |
#define GEN_READ_REG(reg) static inline unative_t read_ ##reg (void) \ |
{ \ |
79,24 → 79,24 |
asm volatile ("movl %0, %%" #reg : : "r" (regn)); \ |
} |
GEN_READ_REG(cr0); |
GEN_READ_REG(cr2); |
GEN_READ_REG(cr3); |
GEN_WRITE_REG(cr3); |
GEN_READ_REG(cr0) |
GEN_READ_REG(cr2) |
GEN_READ_REG(cr3) |
GEN_WRITE_REG(cr3) |
GEN_READ_REG(dr0); |
GEN_READ_REG(dr1); |
GEN_READ_REG(dr2); |
GEN_READ_REG(dr3); |
GEN_READ_REG(dr6); |
GEN_READ_REG(dr7); |
GEN_READ_REG(dr0) |
GEN_READ_REG(dr1) |
GEN_READ_REG(dr2) |
GEN_READ_REG(dr3) |
GEN_READ_REG(dr6) |
GEN_READ_REG(dr7) |
GEN_WRITE_REG(dr0); |
GEN_WRITE_REG(dr1); |
GEN_WRITE_REG(dr2); |
GEN_WRITE_REG(dr3); |
GEN_WRITE_REG(dr6); |
GEN_WRITE_REG(dr7); |
GEN_WRITE_REG(dr0) |
GEN_WRITE_REG(dr1) |
GEN_WRITE_REG(dr2) |
GEN_WRITE_REG(dr3) |
GEN_WRITE_REG(dr6) |
GEN_WRITE_REG(dr7) |
/** Byte to port |
* |