source: mainline/meson/arch/arm32/meson.build@ 5c987793

topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 5c987793 was 2944b5a, checked in by Jiří Zárevúcky <zarevucky.jiri@…>, 22 months ago

arm32: fix floating point abi configuration

  • Property mode set to 100644
File size: 2.9 KB
Line 
1#
2# Copyright (c) 2021 Jiri Svoboda
3# Copyright (c) 2019 Jiří Zárevúcky
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions
8# are met:
9#
10# - Redistributions of source code must retain the above copyright
11# notice, this list of conditions and the following disclaimer.
12# - Redistributions in binary form must reproduce the above copyright
13# notice, this list of conditions and the following disclaimer in the
14# documentation and/or other materials provided with the distribution.
15# - The name of the author may not be used to endorse or promote products
16# derived from this software without specific prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28#
29
30atsign = '%'
31
32_cpudef = '-mcpu=' + '-'.join(PROCESSOR.split('_'))
33
34
35arch_uspace_c_args = [
36 _cpudef,
37 '-D__LE__',
38 '-fno-omit-frame-pointer',
39 '-mapcs-frame',
40 '-ffixed-r9',
41 '-mtp=soft',
42]
43
44arch_kernel_c_args = arch_uspace_c_args + [ '-mno-unaligned-access', '-mfpu=vfpv3' ]
45arch_kernel_c_args += cc.get_supported_arguments(['-mgeneral-regs-only' ])
46arch_kernel_link_args = [ '-nostdlib', '-Wl,-z,max-page-size=0x1000' ]
47
48if CONFIG_FPU
49 # Need to use softfp because our libgcc.a uses it too
50 # softfp - generate code with soft-float calling conventions but allow use
51 # of "hard" float instructions
52 arch_uspace_c_args += [ '-mfloat-abi=softfp' ]
53endif
54arch_uspace_link_args = [ '-nostdlib', '-lgcc', '-Wl,-z,max-page-size=0x1000' ]
55
56arch_boot_c_args = arch_kernel_c_args
57arch_boot_link_args = arch_kernel_link_args
58
59rd_essential_drv += [
60 'drv/bus/usb/ehci',
61 'drv/bus/usb/ohci',
62 'drv/bus/usb/usbdiag',
63 'drv/bus/usb/usbflbk',
64 'drv/bus/usb/usbhub',
65 'drv/bus/usb/usbmid',
66 'drv/block/usbmast',
67 'drv/hid/usbhid',
68]
69
70if MACHINE == 'gta02'
71 rd_essential += [
72 'srv/hid/s3c24xx_ts',
73 'srv/hw/char/s3c24xx_uart',
74 ]
75
76elif MACHINE == 'beagleboardxm' or MACHINE == 'beaglebone'
77 rd_essential_drv += [
78 'drv/platform/amdm37x',
79 'drv/fb/amdm37x_dispc',
80 ]
81
82elif MACHINE == 'integratorcp'
83 rd_essential_drv += [
84 'drv/char/pl050',
85 'drv/hid/atkbd',
86 'drv/hid/ps2mouse',
87 'drv/intctl/icp-ic',
88 'drv/platform/icp',
89 ]
90endif
91
92rd_drv += rd_essential_drv
Note: See TracBrowser for help on using the repository browser.