diff --git a/meta/classes/kernel-arch.bbclass b/meta/classes/kernel-arch.bbclass index 07ec242e63..2d6ea39d23 100644 --- a/meta/classes/kernel-arch.bbclass +++ b/meta/classes/kernel-arch.bbclass @@ -31,6 +31,7 @@ def map_kernel_arch(a, d): elif re.match('mips(isa|)(32|64|)(r6|)(el|)$', a): return 'mips' elif re.match('mcf', a): return 'm68k' elif re.match('riscv(32|64|)(eb|)$', a): return 'riscv' + elif re.match('csky', a): return 'csky' elif re.match('p(pc|owerpc)(|64)', a): return 'powerpc' elif re.match('sh(3|4)$', a): return 'sh' elif re.match('bfin', a): return 'blackfin' diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index e6236c0bb2..191026d344 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1429,7 +1429,8 @@ python populate_packages () { mkdir_recurse(dvar, root, os.path.dirname(file)) fpath = os.path.join(root,file) if not cpath.islink(file): - os.link(file, fpath) + if not os.path.exists(fpath): + os.link(file, fpath) continue ret = bb.utils.copyfile(file, fpath) if ret is False or ret == 0: diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass index 0bd1f36805..7cd249d94c 100644 --- a/meta/classes/siteinfo.bbclass +++ b/meta/classes/siteinfo.bbclass @@ -54,6 +54,7 @@ def siteinfo_data_for_machine(arch, os, d): "ppc64le" : "endian-little bit-64 powerpc-common", "riscv32": "endian-little bit-32 riscv-common", "riscv64": "endian-little bit-64 riscv-common", + "csky": "endian-little bit-32 csky-common", "sh3": "endian-little bit-32 sh-common", "sh3eb": "endian-big bit-32 sh-common", "sh4": "endian-little bit-32 sh-common", @@ -118,6 +119,8 @@ def siteinfo_data_for_machine(arch, os, d): "riscv64-linux": "riscv64-linux", "riscv64-linux-musl": "riscv64-linux", "x86_64-cygwin": "bit-64", + "csky-linux": "csky-linux", + "csky-linux-musl": "csky-linux", "x86_64-darwin": "bit-64", "x86_64-darwin9": "bit-64", "x86_64-linux": "bit-64", diff --git a/meta/lib/oe/elf.py b/meta/lib/oe/elf.py index df0a4593fa..a861b6f1fe 100644 --- a/meta/lib/oe/elf.py +++ b/meta/lib/oe/elf.py @@ -24,6 +24,7 @@ def machine_dict(d): "microblaze": (189, 0, 0, False, 32), "microblazeel":(189, 0, 0, True, 32), "powerpc": (20, 0, 0, False, 32), + "csky": (252, 0, 0, True, 32), "riscv32": (243, 0, 0, True, 32), "riscv64": (243, 0, 0, True, 64), }, @@ -53,6 +54,7 @@ def machine_dict(d): "mipsisa64r6": ( 8, 0, 0, False, 64), "mipsisa64r6el": ( 8, 0, 0, True, 64), "nios2": (113, 0, 0, True, 32), + "csky": (252, 0, 0, True, 32), "riscv32": (243, 0, 0, True, 32), "riscv64": (243, 0, 0, True, 64), "s390": (22, 0, 0, False, 32), @@ -80,6 +82,7 @@ def machine_dict(d): "mips64el": ( 8, 0, 0, True, 64), "microblaze": (189, 0, 0, False, 32), "microblazeel":(189, 0, 0, True, 32), + "csky": (252, 0, 0, True, 32), "riscv32": (243, 0, 0, True, 32), "riscv64": (243, 0, 0, True, 64), "sh4": ( 42, 0, 0, True, 32), diff --git a/meta/recipes-bsp/opensbi/opensbi_0.8.bb b/meta/recipes-bsp/opensbi/opensbi_0.8.bb index bfe2a71b9a..03830dbadb 100644 --- a/meta/recipes-bsp/opensbi/opensbi_0.8.bb +++ b/meta/recipes-bsp/opensbi/opensbi_0.8.bb @@ -41,7 +41,7 @@ FILES_${PN} += "/share/opensbi/*/${RISCV_SBI_PLAT}/firmware/fw_jump.*" # FILES_${PN} += "/share/opensbi/*/${RISCV_SBI_PLAT}/firmware/fw_payload.*" # FILES_${PN} += "/share/opensbi/*/${RISCV_SBI_PLAT}/firmware/fw_dynamic.*" -COMPATIBLE_HOST = "(riscv64|riscv32).*" +COMPATIBLE_HOST = "(riscv64|riscv32|csky).*" INHIBIT_PACKAGE_STRIP = "1" SECURITY_CFLAGS = "" diff --git a/meta/recipes-connectivity/openssl/openssl_1.1.1h.bb b/meta/recipes-connectivity/openssl/openssl_1.1.1h.bb index eb11fe3960..c47eec3f00 100644 --- a/meta/recipes-connectivity/openssl/openssl_1.1.1h.bb +++ b/meta/recipes-connectivity/openssl/openssl_1.1.1h.bb @@ -107,6 +107,9 @@ do_configure () { linux-riscv32) target=linux-generic32 ;; + linux-csky) + target=linux-generic32 + ;; linux-riscv64) target=linux-generic64 ;;