Skip to content

The release is for toolchain v3.8.x/3.10.x with linux-4.9.56 headers. (Ubuntu-16.04-64bit)

See readme.txt to quick start:
860 (SMP supported):
https://c-sky.gitlab.io/-/buildroot/-/jobs/197192514/artifacts/output/images/readme.txt

807/810:
https://c-sky.gitlab.io/-/buildroot/-/jobs/197227857/artifacts/output/images/readme.txt

610:
https://c-sky.gitlab.io/-/buildroot/-/jobs/197192502/artifacts/output/images/readme.txt
or uclibc:
https://c-sky.gitlab.io/-/buildroot/-/jobs/197192501/artifacts/output/images/readme.txt

重要特性:
perf 火焰图
dynamic ftrace 支持
strace 支持, (完成 upstream 到 strace.io)
内核动态地址启动 (需要512MB对齐)
支持 qemu virtio-net, virtio-block,支持 qemu 动态 dtb
buildroot 体验升级,动态 readme.txt,内置 qemu 和 调试工具
支持 linux-4.19

本轮 CI pipeline:
https://gitlab.com/c-sky/buildroot/pipelines/56964790

Changelog Details:

Buildroot:

Liu Yibin (19):
Do no parses if parse_script(directory)'s empty
Format gx6605s related configs & rename
Remove glibc-build & glibc-test
Add -mbacktrace for all configs
Add cpu_pm,stackstrace,functionstrace,ftracesyscall for all configs
Add misc builds for gx6605s(fb)
Add lrzsz for all configs
Add debugfs for ftrace
Fix DebugServerConsole.elf start cmd
Expand 860 qemu's memory size to 1G(from 512M)
Update gcc, prevent 810f lmbench integer parallelism
Support qemu of virtio
Share files within qemu & pc using block device
Shrink 860 fpga memory size because of kernel 4.19 bootup
Use network within virtio
Synchronize 860's gdbinit with test group
Add VIRTIO_NET in all kernel defconfigs
Turn DDR start addr to 0xc000 0000
Run perf-kmem.sh in perf-ci

Mao Han (3):
csky: default to enable SUPPORT_LD_DEBUG for uClibc-ng
Update glibc.mk
Add perf callchain ci test

Guo Ren (11):
csky: seperate qemu and remove timeout ltp case.
fixup qemu couldn't boot without sudo.
csky: increase the memory size for 860.
update csky-arch with 4.9/4.19
csky-arch: add linux-next version.
package/strace: support csky strace
add nop32 after _mcount with -pg
add perf strace ftrace
update csky-arch.mk to fixup 610 compile error with ANDI_R3
Update csky-qemu.mk: Fixup -smp 2 only produce one cpu in dts
fixup qemu pmu cpu stop

Glibc :
Mao Han (4):
C-SKY: fix sigcontext miss match
C-SKY: remove user_regs definition
C-SKY: mark lr as undefined to stop unwinding
C-SKY: add elf header definition for elfutils

Strace:
Guo Ren (2):
riscv: Fixup wrong clone's arguments define
Add C-SKY architecture support

Linux-kernel:
Dmitry V. Levin (1):
csky: fix syscall_get_arguments() and syscall_set_arguments()

Guo Ren (27):
csky: fixup wrong ABIV2 macro.
csky: sync drivers with master_v4.19
csky: fixup compile error with pte_alloc
csky: Add perf support for C-SKY
csky: fixup relocation error with 807 & 860
csky: fixup compile error with linux-4.9
csky: fixup _PAGE_GLOBAL bit for 610 tlb entry
csky: fixup linux-4.9 compile error.
csky: fixup dma_map_page lose cache sync multi-pages
csky: Optimize remove unnecessary loop irq handle
irqchip/irq-csky-mpintc: Add triger type and priority
csky: Fixup wrong pt_regs size
csky: coding convention: Use task_stack_page
irqchip/csky: Add support-vector-irq for apb-intc
csky: Fixup io-range page attribute for mmap("/dev/mem")
csky: Fixup dead loop in show_stack
csky: fixup 4.9 compile error
csky: Fixup vdsp&fpu issues in kernel
csky/ftrace: Add dynamic function tracer (include graph tracer)
csky: Update syscall_trace_enter/exit implementation
patch: scripts/recordmcount.pl: Add csky support.
csky: entry.S: sync code with linux-next
csky: Add non-uapi asm/ptrace.h namespace
csky: Use in_syscall & forget_syscall instead of r11_sig
csky: Reconstruct signal processing
csky: Support dynamic start physical address
csky: Fixup wrong update_mmu_cache implementation

Jagadeesh Pagadala (1):
csky: mm/fault.c: Remove duplicate header

Mao Han (2):
csky: Add perf callchain support
csky: Add perf_arch_fetch_caller_regs support

Masahiro Yamada (1):
csky: remove redundant generic-y

Assets 2

@guoren83 guoren83 released this Jan 19, 2019 · 85 commits to master since this release

The release is for toolchain v3.8.x/3.10.x with linux-4.9.56 headers. (Ubuntu-16.04-64bit)

QuickStart without compile buildroot (See readme.txt inside):
807/810:
https://gitlab.com/c-sky/buildroot/-/jobs/147513493/artifacts/browse/output/images/
860mp:
https://gitlab.com/c-sky/buildroot/-/jobs/147513498/artifacts/browse/output/images/

Gitlab CI pipelines:
https://gitlab.com/c-sky/buildroot/pipelines/43811817

=================================================================
Changelog:

  • csky: fixup qemu must run with sudo
  • csky: fixup clarify qemu 860 run cmd in readme.txt
  • csky: fixup dma_map_page lose cache sync multi-pages
  • irqchip/csky: fixup handle_irq_perbit break irq
  • csky: fixup relocation error with 807 & 860
  • csky: fixup _PAGE_GLOBAL bit for 610 tlb entry
Assets 2

@guoren83 guoren83 released this Dec 28, 2018 · 106 commits to master since this release

The release is based on toolchain v3.10.x and linux-4.9.56

QuickStart without compile buildroot(See readme.txt inside):
807/810:
https://gitlab.com/c-sky/buildroot/-/jobs/139059388/artifacts/browse/output/images/
860mp:
https://gitlab.com/c-sky/buildroot/-/jobs/139068642/artifacts/browse/output/images/

Run on qemu with multi core (860):
sudo $ LD_LIBRARY_PATH=./host/lib ./host/csky-qemu/bin/qemu-system-cskyv2 -M mp860 -smp 2 -kernel images/vmlinux -dtb images/qemu_smp.dtb -nographic

Gitlab CI pipelines:
https://gitlab.com/c-sky/buildroot/pipelines/41397270

=================================================================
gitlab-ci 覆盖性测试:LTP, uclibc-test
gitlab-ci runner 测试平台:807-eragon, 810-dh7200, 860s-fpga, 860mp-fpga, abiv2 CPU qemu,610-gx6605s
版本信息:glibc-2.28 uclibc-ng-1.0.29 linux-4.9

Changelog:

buildroot:

  1. gitlab-runner 硬件扩充
  2. csky-ci 框架构建
  3. 基于 KVM 虚拟化的 gitlab-runner 构建
  4. 增加 810-dh7200, 810-sc8925, 860-fpga 硬件runner
  5. 完善 package readme.txt 用户指引

bugfix:
修正 glibc-ci网络问题
修正 860 qemu docker 概率性不能启动问题
修正 dh7200 ltp ioctl02测试失败
修正 807f 4.9/4.14 glibc
修正 gitlab runner qemu_maohan 同时接2个任务
修正 设备用继电器不能重启问题

glibc:

  1. memcpy memset 性能优化
  2. EM_NUM 兼容性检查
  3. glibc-test 收敛 810-qemu <5

uclibc:

  1. memcpy memset 性能优化
  2. uclibc-test 收敛 810-qemu <5

bugfix:
修正 -fexceptions -fasynchronous-unwind-tables
修正 LD_DEBUG
修正 openat syscall cancellation
修正 openmp 动态链接 获取 pagesz 错误
修正 ftruncate 对齐操作

linux kernel:

  1. perf 支持
  2. ftrace 支持
  3. elf-coredump 支持
  4. mmap(O_SYNC) 支持
  5. 新中断控制器 支持
  6. CPU 热插拔

bugfix:
修正 tlb_get_pgd 错误
修正 4.14 spinlock SMP编译错误
修正 csky_dma_mapping
修正 KBUILD_CFLAGS 不支持特殊配置
修正 CSKY_NR_IRQS 不支持特殊配置
修正 内核态调用 vdsp fpu 指令问题

Assets 2

@guoren83 guoren83 released this Nov 24, 2018 · 243 commits to master since this release

The release is based on toolchain v3.8.x and linux-4.9.56

QuickStart without compile buildroot(See readme.txt inside):
https://gitlab.com/c-sky/buildroot/-/jobs/122864994/artifacts/browse/output/images/

Gitlab CI pipelines:
https://gitlab.com/c-sky/buildroot/pipelines/39484297

changelog:
linux 内核 (4.9.56):
ck860 多核 FPU VDSP 支持
支持ck860 中断控制器,核间通信机制,多核复位控制器
支持ck860 紧耦合定时器
支持ck860 原子同步指令,TLB 同步指令,CACHE 同步指令, memory栅指令
添加 linux csky SMP 框架
实现原子同步原语: spinlock, ticket spinlock, rwlock, queue_rwlock, atomic_ops, cmpxchg ...

极简启动
csky linux 相对其他 arch 启动设计非常简约:

  1. ck860 smp 用户无需关心多核,启动和单核模式一致
  2. 极简启动流程浓缩在10行gdbinit 中,清晰告诉用户 bootloader 开发要做什么

支持 CMA, Highmem
重构Memory layout,将SSEG2 直检映射区域,由原来 uncachable strong order 属性 变成 cachable weak order 属性,这样 Normal memory 由原来的 512MB 增加到 1GB

IO映射一律通过页表映射
CMA 在重构Memory layout基础上,对原有 dma-mapping.c 进行重构,增加了 atomic_pool,和 dma_comm_region 和 cma_region,从而支持 Contiguous Memory Allocator
Highmem 就是 支持 超过 1GB 物理内存

中断控制器重构,Timer 驱动重构
根据新版内核规范 irqchip 框架,和 clocksource 框架 重写驱动,修正 clocksource
更改irq number 获取方式,由 pending 一并获取,提高吞吐率,规避硬件中断号同步bug

根据新内核 user_regset 框架,调整 pt_regs,涉及 gdbserver 接口变动
优化 task_switch,signal_save,exception_save 等涉及 user_regset 的地方

支持 wait/doze/idle 低功耗指令,通过 linux menuconfig 开启

bugfix:
修正原子操作 memory barrier 问题,可能造成 emmc 读写错误
修正 cachev2.c cache flush 错误

glibc (2.28):

string 类函数优化 memcpy memove memset ... 支持 VDSP 增强指令,提高了 nbench stringsort 的性能
支持 profiling 汇编函数, gcc -pg 会为每个 C 函数加入 mcount,配合工具性能分析
支持 build-many-glibcs.py
Atomic 使用 gcc built-in 实现
bugfix:
解决基于qemu硬浮点非规运算问题

Assets 2

@guoren83 guoren83 released this Jul 28, 2017 · 5384 commits to master since this release

#版本特性:
内核版本: linux-4.9.25
支持gx6605s增加GPIO驱动
支持python, python-gpio按键,LED
支持rtl8152有线网卡
支持mt7601无线网卡
支持aliyun_iot_sdk
支持cpu device-tree配置
支持ohci usb控制器
升级buildroot版本
修正 dflush_cache
修正 copy2usr
使用工具链:
csky-linux-tools-x86_64-glibc-linux-4.9.25-20170522.tar.gz
csky-abiv2-linux-tools-x86_64-glibc-linux-4.9.25-20170522.tar.gz

#遗留问题:
DeviceTree中memory不支持离散内存设定
buildroot暂不能即时编译工具链
python终端不支持回删键,出错无法自动进入pdb
mt7601 wifi的linux内核自带开源驱动,固件,存在AP兼容性问题,和偶尔连接中断情况

Assets 2

@guoren83 guoren83 released this Apr 18, 2017 · 6354 commits to master since this release

#版本特性:
内核版本: linux-4.9.13
支持CPU: ck610 ck810 ck810f ck807 ck807f
支持Jtag和GDB应用程序同时调试
支持gx6605s最小系统: 支持U盘上电直接启动,标准ehci控制器,NFS网络根文件系统
支持sc8925最小系统: 支持810浮点,NFS网络根文件系统
支持第三方addons驱动整合到linux Kconfig系统中
升级linux DeviceTree框架
升级linux clocksouce 驱动框架
升级linux irqchip 驱动框架
升级linux memblock,替换原有的bootmem系统
升级linux dma-mapping框架
升级linux vmlinux.lds.S框架
升级linux 系统调用
升级linux 推荐页表框架.替换原有的4level-fixup.h
升级linux 任务创建流程
使用工具链:
csky-abiv2-linux-tools-x86_64-glibc-linux-4.9.2-20170228.tar.gz
csky-linux-tools-x86_64-glibc-linux-4.9.2-20170227.tar.gz

#遗留问题:
DeviceTree中memory不支持离散内存设定
buildroot暂不能即时编译工具链
不支持QEMU平台

Assets 2
You can’t perform that action at this time.