From 8bea2b6faca554a145bdafc6f3afafec1f3120b6 Mon Sep 17 00:00:00 2001 From: Ben Cheng Date: Wed, 16 Oct 2013 15:28:56 -0700 Subject: Tweaked the cleanup scripts to handle uapi and aarch64 headers. The processed uapi directory is now placed at libc/kernel/uapi as opposed to libc/kernel/common/uapi as it contains architectural-dependent headers now. Change-Id: I53f814704a4d231b452fde398cd94257a0fb2eea --- libc/kernel/tools/clean_header.py | 17 ++++++++++++++--- libc/kernel/tools/defaults.py | 10 +++++++++- 2 files changed, 23 insertions(+), 4 deletions(-) (limited to 'libc/kernel') diff --git a/libc/kernel/tools/clean_header.py b/libc/kernel/tools/clean_header.py index 1a5471a..e825ae0 100755 --- a/libc/kernel/tools/clean_header.py +++ b/libc/kernel/tools/clean_header.py @@ -43,15 +43,26 @@ def cleanupFile( path, original_path): # and the corresponding list of known static functions # arch = None - re_asm_arch = re.compile( r"asm-([\w\d_\+\.\-]+)(/.*)" ) - m = re_asm_arch.match(src_path) statics = kernel_known_generic_statics + m = re.match(r"asm-([\w\d_\+\.\-]+)(/.*)", src_path) if m and m.group(1) != 'generic': dst_path = "arch-%s/asm/%s" % m.groups() arch = m.group(1) statics = statics.union( kernel_known_statics.get( arch, set() ) ) else: - dst_path = "common/" + src_path + # process headers under the uapi directory + # note the "asm" level has been explicitly added in the original + # kernel header tree for architectural-dependent uapi headers + m_uapi = re.match(r"(uapi)/([\w\d_\+\.\-]+)(/.*)", src_path) + if m_uapi: + dst_path = src_path + m_uapi_arch = re.match(r"asm-([\w\d_\+\.\-]+)", m_uapi.group(2)) + if m_uapi_arch and m_uapi_arch.group(1) != 'generic': + arch = m_uapi_arch.group(1) + statics = statics.union( kernel_known_statics.get( arch, set() ) ) + # common headers (ie non-asm and non-uapi) + else: + dst_path = "common/" + src_path dst_path = os.path.normpath( kernel_cleaned_path + "/" + dst_path ) diff --git a/libc/kernel/tools/defaults.py b/libc/kernel/tools/defaults.py index 77bfc47..3968605 100644 --- a/libc/kernel/tools/defaults.py +++ b/libc/kernel/tools/defaults.py @@ -7,7 +7,7 @@ from utils import * # the list of supported architectures # -kernel_archs = [ 'arm', 'mips', 'x86' ] +kernel_archs = [ 'aarch64', 'arm', 'mips', 'x86' ] # the list of include directories that belong to the kernel # tree. used when looking for sources... @@ -44,12 +44,14 @@ kernel_remove_config_macros = True # maps an architecture to a set of default macros that would be provided by # toolchain preprocessor kernel_default_arch_macros = { + "aarch64": {}, "arm": {}, "mips": {"CONFIG_32BIT":"1"}, "x86": {}, } kernel_arch_token_replacements = { + "aarch64": {}, "arm": {}, "mips": {"off_t":"__kernel_off_t"}, "x86": {}, @@ -63,6 +65,11 @@ kernel_token_replacements = { # this is the set of known static inline functions that we want to keep # in the final ARM headers. this is only used to keep optimized byteswapping # static functions and stuff like that. +kernel_known_aarch64_statics = set( + [ + ] + ) + kernel_known_arm_statics = set( [ "___arch__swab32", # asm-arm/byteorder.h ] @@ -92,6 +99,7 @@ kernel_known_generic_statics = set( # we want to keep in the final headers # kernel_known_statics = { + "aarch64" : kernel_known_aarch64_statics, "arm" : kernel_known_arm_statics, "mips" : kernel_known_mips_statics, "x86" : kernel_known_x86_statics, -- cgit v1.1