Changeset 2fff3c4 in mainline for kernel/arch/amd64/meson.build


Ignore:
Timestamp:
2019-08-17T12:49:43Z (5 years ago)
Author:
Jiří Zárevúcky <zarevucky.jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c4e5d40
Parents:
ecf56f80
git-author:
Jiří Zárevúcky <zarevucky.jiri@…> (2019-06-16 13:32:05)
git-committer:
Jiří Zárevúcky <zarevucky.jiri@…> (2019-08-17 12:49:43)
Message:

Build kernel using meson

File:
1 moved

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/meson.build

    recf56f80 r2fff3c4  
    11#
    22# Copyright (c) 2005 Martin Decky
     3# Copyright (c) 2019 Jiří Zárevúcky
    34# All rights reserved.
    45#
     
    2728#
    2829
    29 
    30 FPU_NO_CFLAGS = -mno-sse -mno-sse2
    31 
    3230# TODO: Red Zone is only a problem if we allow interrupts to land on an active
    3331#       stack. Using separate stack for interrupts and ensuring that we never
     
    3533#       the argument.
    3634
    37 COMMON_CFLAGS += -mcmodel=$(MEMORY_MODEL) -mno-red-zone -fno-unwind-tables -fno-omit-frame-pointer
     35kernel_c_args += [ '-mno-sse', '-mno-sse2', '-mcmodel=' + MEMORY_MODEL, '-mno-red-zone', '-fno-unwind-tables', '-fno-omit-frame-pointer' ]
    3836
    39 BITS = 64
    40 ENDIANESS = LE
     37# TODO: fix this
     38kernel_link_args += [ '-Wl,--no-gc-sections' ]
    4139
    42 ## Accepted CPUs
    43 #
    44 
    45 ifeq ($(PROCESSOR),opteron)
    46         COMMON_CFLAGS += -march=opteron
     40if PROCESSOR == 'opteron'
     41        kernel_c_args += '-march=opteron'
    4742endif
    4843
    49 ARCH_SOURCES = \
    50         arch/$(KARCH)/src/fpu_context.c \
    51         arch/$(KARCH)/src/boot/multiboot.S \
    52         arch/$(KARCH)/src/boot/multiboot2.S \
    53         arch/$(KARCH)/src/boot/memmap.c \
    54         arch/$(KARCH)/src/debug/stacktrace.c \
    55         arch/$(KARCH)/src/debug/stacktrace_asm.S \
    56         arch/$(KARCH)/src/pm.c \
    57         arch/$(KARCH)/src/vreg.c \
    58         arch/$(KARCH)/src/kseg.c \
    59         arch/$(KARCH)/src/context.S \
    60         arch/$(KARCH)/src/ddi/ddi.c \
    61         arch/$(KARCH)/src/drivers/i8254.c \
    62         arch/$(KARCH)/src/delay.S \
    63         arch/$(KARCH)/src/amd64.c \
    64         arch/$(KARCH)/src/bios/bios.c \
    65         arch/$(KARCH)/src/interrupt.c \
    66         arch/$(KARCH)/src/mm/km.c \
    67         arch/$(KARCH)/src/mm/as.c \
    68         arch/$(KARCH)/src/mm/frame.c \
    69         arch/$(KARCH)/src/mm/page.c \
    70         arch/$(KARCH)/src/mm/tlb.c \
    71         arch/$(KARCH)/src/asm.S \
    72         arch/$(KARCH)/src/cpu/cpu.c \
    73         arch/$(KARCH)/src/proc/scheduler.c \
    74         arch/$(KARCH)/src/proc/task.c \
    75         arch/$(KARCH)/src/proc/thread.c \
    76         arch/$(KARCH)/src/userspace.c \
    77         arch/$(KARCH)/src/smc.c \
    78         arch/$(KARCH)/src/syscall.c
     44arch_src += files(
     45        'src/amd64.c',
     46        'src/asm.S',
     47        'src/bios/bios.c',
     48        'src/boot/memmap.c',
     49        'src/boot/multiboot2.S',
     50        'src/boot/multiboot.S',
     51        'src/context.S',
     52        'src/cpu/cpu.c',
     53        'src/ddi/ddi.c',
     54        'src/debug/stacktrace_asm.S',
     55        'src/debug/stacktrace.c',
     56        'src/delay.S',
     57        'src/drivers/i8254.c',
     58        'src/fpu_context.c',
     59        'src/interrupt.c',
     60        'src/kseg.c',
     61        'src/mm/as.c',
     62        'src/mm/frame.c',
     63        'src/mm/km.c',
     64        'src/mm/page.c',
     65        'src/mm/tlb.c',
     66        'src/pm.c',
     67        'src/proc/scheduler.c',
     68        'src/proc/task.c',
     69        'src/proc/thread.c',
     70        'src/smc.c',
     71        'src/syscall.c',
     72        'src/userspace.c',
     73        'src/vreg.c',
     74)
    7975
    80 ifeq ($(CONFIG_SMP),y)
    81         ARCH_SOURCES += \
    82                 arch/$(KARCH)/src/smp/ap.S \
    83                 arch/$(KARCH)/src/smp/apic.c \
    84                 arch/$(KARCH)/src/smp/ipi.c \
    85                 arch/$(KARCH)/src/smp/mps.c \
    86                 arch/$(KARCH)/src/smp/smp.c
     76if CONFIG_SMP
     77        arch_src += files(
     78                'src/smp/apic.c',
     79                'src/smp/ap.S',
     80                'src/smp/ipi.c',
     81                'src/smp/mps.c',
     82                'src/smp/smp.c',
     83        )
    8784endif
    8885
    89 ARCH_AUTOCHECK_HEADERS = \
    90         arch/$(KARCH)/include/arch/istate_struct.h \
    91         arch/$(KARCH)/include/arch/context_struct.h \
    92         arch/$(KARCH)/include/arch/kseg_struct.h \
    93         arch/$(KARCH)/include/arch/boot/memmap_struct.h
     86_check_headers = [
     87        'include/arch/boot/memmap_struct.h',
     88        'include/arch/context_struct.h',
     89        'include/arch/istate_struct.h',
     90        'include/arch/kseg_struct.h',
     91]
     92
     93foreach h : _check_headers
     94        arch_src += [ autocheck.process(h) ]
     95endforeach
Note: See TracChangeset for help on using the changeset viewer.