Changeset 30e9f42 in mainline for kernel


Ignore:
Timestamp:
2018-04-15T21:39:04Z (7 years ago)
Author:
Jiří Zárevúcky <jiri.zarevucky@…>
Children:
d9fdd5a
Parents:
902dd4b
git-author:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-04-15 21:38:52)
git-committer:
Jiří Zárevúcky <jiri.zarevucky@…> (2018-04-15 21:39:04)
Message:

Instead of generating headers for certain structures,
write the headers manually and automate checking correctness instead.

Location:
kernel
Files:
23 added
23 deleted
10 edited

Legend:

Unmodified
Added
Removed
  • kernel/Makefile

    r902dd4b r30e9f42  
    4848#
    4949
    50 AGDEPEND = Makefile.ag.depend
     50AUTOCHECK = $(realpath $(ROOT_PATH)/tools/autocheck.awk)
    5151RAW = kernel.raw
    5252BIN = kernel.bin
     
    7373
    7474.PHONY: all clean autogen_clean depend
     75.DELETE_ON_ERROR:
    7576
    7677all: $(VERSION_DEF) $(COMMON_MAKEFILE) $(COMMON_HEADER) $(CONFIG_MAKEFILE) $(CONFIG_HEADER) $(BIN) $(DISASM)
     
    132133-include arch/$(KARCH)/Makefile.inc
    133134-include genarch/Makefile.inc
    134 -include $(AGDEPEND)
    135135
    136136## The at-sign
     
    346346endif
    347347
     348ARCH_SOURCES += $(ARCH_AUTOCHECK_HEADERS:%.h=%.check.c)
     349GENARCH_SOURCES += $(GENARCH_AUTOCHECK_HEADERS:%.h=%.check.c)
     350
    348351GENERIC_OBJECTS := $(addsuffix .o,$(basename $(GENERIC_SOURCES)))
    349352ARCH_OBJECTS := $(addsuffix .o,$(basename $(ARCH_SOURCES)))
     
    354357GENARCH_DEPENDS := $(addsuffix .d,$(basename $(GENARCH_SOURCES)))
    355358
    356 GENARCH_AUTOGENS_H := $(addsuffix .h,$(basename $(GENARCH_AUTOGENS_AG)))
    357 GENARCH_AUTOGENS_PROBE_C := $(addsuffix .ag.probe.c,$(basename $(GENARCH_AUTOGENS_AG)))
    358 GENARCH_AUTOGENS_PROBE_S := $(addsuffix .ag.probe.s,$(basename $(GENARCH_AUTOGENS_AG)))
    359 
    360 ARCH_AUTOGENS_H := $(addsuffix .h,$(basename $(ARCH_AUTOGENS_AG)))
    361 ARCH_AUTOGENS_PROBE_C := $(addsuffix .ag.probe.c,$(basename $(ARCH_AUTOGENS_AG)))
    362 ARCH_AUTOGENS_PROBE_S := $(addsuffix .ag.probe.s,$(basename $(ARCH_AUTOGENS_AG)))
    363 
    364 AUTOGENS_H := $(ARCH_AUTOGENS_H) $(GENARCH_AUTOGENS_H)
    365 AUTOGENS_AG := $(ARCH_AUTOGENS_AG) $(GENARCH_AUTOGENS_AG)
    366 
    367359AS_CFLAGS := $(addprefix -Xassembler ,$(AFLAGS))
    368360LD_CFLAGS := $(addprefix -Xlinker ,$(LFLAGS))
     
    399391endif
    400392
    401 $(LINK): $(LINK).in | depend
     393$(LINK): $(LINK).in
    402394        $(CC) $(DEFS) $(CFLAGS) -D__ASSEMBLER__ -D__LINKER__ -E -x c $< | grep -v "^\#" > $@
    403395
    404 %.h: %.ag
    405         $(AUTOGEN) probe $< >$<.probe.c
    406         $(CC_AUTOGEN) $(DEFS) $(CFLAGS) -S -o $<.probe.s $<.probe.c
    407         $(AUTOGEN) generate $< <$<.probe.s >$@
    408 
    409 %.o: %.S | depend
     396%.check.c: %.h $(AUTOCHECK)
     397        cd $(<D) && $(AUTOCHECK) $(<F) > $(@F)
     398
     399%.o: %.S
    410400        $(CC_JOB) -c -MD -MP $(DEFS) $(CFLAGS) $(AS_CFLAGS)
    411401
    412 %.o: %.s | depend
     402%.o: %.s
    413403        $(CC_JOB) -c -MD -MP $(DEFS) $(CFLAGS) $(AS_CFLAGS)
    414404
    415 %.o: %.c | depend
     405%.o: %.c
    416406        $(CC_JOB) -c -MD -MP $(DEFS) $(CFLAGS) $(EXTRA_FLAGS) $(FPU_NO_CFLAGS) $(if $(findstring $<,$(INSTRUMENTED_SOURCES)),$(INSTRUMENTATION))
    417407
     
    440430        $(OBJDUMP) -t $(ARCH_OBJECTS) $(GENARCH_OBJECTS) $(GENERIC_OBJECTS) > $(DUMP)
    441431        $(GENMAP) $(MAP_PREV) $(DUMP) $@
    442 
    443 $(AUTOGENS_H): $(AGDEPEND)
    444 
    445 $(AGDEPEND): $(AUTOGENS_AG)
    446         echo "# DO NOT EDIT" >$@
    447         for g in $^; do \
    448                 h=`dirname $$g`/`basename $$g .ag`.h; \
    449                 for l in `$(AUTOGEN) depend $$g`; do \
    450                         echo "$$h: $$l" >>$@; \
    451                 done \
    452         done
    453 
    454 depend: $(AUTOGENS_H)
    455 
    456 autogen_clean:
    457         -rm $(ARCH_AUTOGENS_H) $(ARCH_AUTOGENS_PROBE_C) $(ARCH_AUTOGENS_PROBE_S)
    458         -rm $(GENARCH_AUTOGENS_H) $(GENARCH_AUTOGENS_PROBE_C) $(GENARCH_AUTOGENS_PROBE_S)
    459         -rm $(AGDEPEND)
  • kernel/arch/amd64/Makefile.inc

    r902dd4b r30e9f42  
    8585endif
    8686
    87 ARCH_AUTOGENS_AG = \
    88         arch/$(KARCH)/include/arch/istate_struct.ag \
    89         arch/$(KARCH)/include/arch/context_struct.ag \
    90         arch/$(KARCH)/include/arch/kseg_struct.ag \
    91         arch/$(KARCH)/include/arch/boot/memmap_struct.ag
     87ARCH_AUTOCHECK_HEADERS = \
     88        arch/$(KARCH)/include/arch/istate_struct.h \
     89        arch/$(KARCH)/include/arch/context_struct.h \
     90        arch/$(KARCH)/include/arch/kseg_struct.h \
     91        arch/$(KARCH)/include/arch/boot/memmap_struct.h
  • kernel/arch/arm32/Makefile.inc

    r902dd4b r30e9f42  
    9696        ARCH_SOURCES += genarch/src/drivers/pl050/pl050.c
    9797endif
    98 
    99 ARCH_AUTOGENS_AG = \
    100         arch/$(KARCH)/include/arch/istate_struct.ag \
    101         arch/$(KARCH)/include/arch/context_struct.ag
    102 
  • kernel/arch/ia32/Makefile.inc

    r902dd4b r30e9f42  
    102102        arch/$(KARCH)/src/syscall.c
    103103
    104 ARCH_AUTOGENS_AG = \
    105         arch/$(KARCH)/include/arch/istate_struct.ag \
    106         arch/$(KARCH)/include/arch/context_struct.ag \
    107         arch/$(KARCH)/include/arch/boot/memmap_struct.ag
     104ARCH_AUTOCHECK_HEADERS = \
     105        arch/$(KARCH)/include/arch/istate_struct.h \
     106        arch/$(KARCH)/include/arch/context_struct.h \
     107        arch/$(KARCH)/include/arch/boot/memmap_struct.h
    108108
  • kernel/arch/ia64/Makefile.inc

    r902dd4b r30e9f42  
    7272endif
    7373
    74 ARCH_AUTOGENS_AG = \
    75         arch/$(KARCH)/include/arch/istate_struct.ag \
    76         arch/$(KARCH)/include/arch/context_struct.ag
     74ARCH_AUTOCHECK_HEADERS = \
     75        arch/$(KARCH)/include/arch/istate_struct.h \
     76        arch/$(KARCH)/include/arch/context_struct.h
    7777
  • kernel/arch/mips32/Makefile.inc

    r902dd4b r30e9f42  
    8888endif
    8989
    90 ARCH_AUTOGENS_AG = \
    91         arch/$(KARCH)/include/arch/istate_struct.ag \
    92         arch/$(KARCH)/include/arch/context_struct.ag \
    93         arch/$(KARCH)/include/arch/fpu_context_struct.ag
     90ARCH_AUTOCHECK_HEADERS = \
     91        arch/$(KARCH)/include/arch/istate_struct.h \
     92        arch/$(KARCH)/include/arch/context_struct.h \
     93        arch/$(KARCH)/include/arch/fpu_context_struct.h
  • kernel/arch/ppc32/Makefile.inc

    r902dd4b r30e9f42  
    5959        arch/$(KARCH)/src/drivers/pic.c
    6060
    61 ARCH_AUTOGENS_AG = \
    62         arch/$(KARCH)/include/arch/istate_struct.ag \
    63         arch/$(KARCH)/include/arch/context_struct.ag \
    64         arch/$(KARCH)/include/arch/fpu_context_struct.ag
     61ARCH_AUTOCHECK_HEADERS = \
     62        arch/$(KARCH)/include/arch/istate_struct.h \
     63        arch/$(KARCH)/include/arch/context_struct.h \
     64        arch/$(KARCH)/include/arch/fpu_context_struct.h
    6565
  • kernel/arch/riscv64/Makefile.inc

    r902dd4b r30e9f42  
    5454        arch/$(KARCH)/src/mm/tlb.c
    5555
    56 ARCH_AUTOGENS_AG = \
    57         arch/$(KARCH)/include/arch/istate_struct.ag \
    58         arch/$(KARCH)/include/arch/context_struct.ag
     56ARCH_AUTOCHECK_HEADERS = \
     57        arch/$(KARCH)/include/arch/istate_struct.h \
     58        arch/$(KARCH)/include/arch/context_struct.h
  • kernel/arch/sparc64/Makefile.inc

    r902dd4b r30e9f42  
    110110endif
    111111
    112 ARCH_AUTOGENS_AG = \
    113         arch/$(KARCH)/include/arch/istate_struct.ag \
    114         arch/$(KARCH)/include/arch/context_struct.ag
     112ARCH_AUTOCHECK_HEADERS = \
     113        arch/$(KARCH)/include/arch/istate_struct.h \
     114        arch/$(KARCH)/include/arch/context_struct.h
    115115
  • kernel/genarch/Makefile.inc

    r902dd4b r30e9f42  
    172172        genarch/src/multiboot/multiboot.c \
    173173        genarch/src/multiboot/multiboot2.c
    174 GENARCH_AUTOGENS_AG += \
    175         genarch/include/genarch/multiboot/multiboot_memmap_struct.ag \
    176         genarch/include/genarch/multiboot/multiboot_info_struct.ag
     174
     175GENARCH_AUTOCHECK_HEADERS += \
     176        genarch/include/genarch/multiboot/multiboot_memmap_struct.h \
     177        genarch/include/genarch/multiboot/multiboot_info_struct.h
    177178endif
    178179
Note: See TracChangeset for help on using the changeset viewer.