Linux Kernel Engineer
As the pioneers who introduced RISC-V to the world, SiFive is transforming the future of compute by bringing the limitless potential of RISC-V to the highest performance and most data-intensive applications in the world. SiFive’s unrivaled compute platforms have enabled leading technology companies around the world to innovate, optimize, and deliver the most advanced solutions of tomorrow across every market segment of chip design, including artificial intelligence, machine learning, automotive, datacenter, mobile, and consumer. With SiFive, the future of RISC-V has no limits.
As SiFive brings RISC-V to the highest end designs the hardware and software engineering teams are integrating larger and more complex SoC features. The SiFive System Software group develops critical software components for our Core and Intelligence processors, from firmware and bare-metal to high-level OS and AI runtime code. The team is global, spanning several worldwide sites, working together as one group. We believe that engineers create most of the value for the company. Our management chain has a strong engineering and software development background. We believe in open, honest, and direct communication; mutual respect; and seek strong communicators and listeners.
SiFive is looking for an excellent Linux and kernel developer who can help drive forward the RISC-V software roadmap. In this role, you will work with System Architecture and Hardware engineering teams to help evaluate and design Compute systems - including CPUs, interconnects and related IP blocks. You will develop software for the Linux kernel and for Yocto/OpenEmbedded Linux. This is an excellent opportunity to develop and get to market the software for the latest RISC-V architecture.
- Design, develop and upstream Linux kernel, OpenSBI, U-Boot and Yocto/OpenEmbedded software for RISC-V SoCs.
- Engage with System Architecture, Hardware engineering, and other software engineering teams to design, review and define features.
- Collaborate with teams in the US, Taiwan and Europe to drive forward the SiFive's System Software roadmap and the “one team” philosophy.
- 3+ years of experience developing System software or device drivers in C for complex SoCs required.
- Expert level understanding of Operating systems (Processors, Caches, Memories, Buses, etc) and the Linux kernel is required.
- Experience developing software for complex multicore, multiprocessor SoCs.
- Experience with debugging tools like GDB, JTAG, OpenOCD, required.
- Experience with upstream development for Linux.