Linux Kernel Software Engineer


Seeking an experienced Linux Kernel Engineer knowledgeable of internals of Linux to work with CPU IP Design and Verification engineers to customize, boot, and bring-up Linux on multithreaded and multicore CPU systems on FPGA and/or Emulator platforms.

Minimum Qualifications

  • Knowledge of Linux, its variations, and internals as it pertains to platform specific updates, booting, and bring-up of Linux on Processor Core/Cluster FPGA or Emulator
  • MS degree in Electrical or Computer Engineering with 4+ years of practical experience or BS with 6+ years
  • Highly experienced in Linux support and development with knowledge in one or more of the following areas:
    • Virtual memory management support
    • Writing and characterizing trap handlers
    • Writing drivers for embedded memory mapped functionality
    • Linux for architectures such as MIPS, RISC-V, or ARM preferred
    • Cache and memory subsystems
  • Software development best practices, including test driven design, continuous integration
  • Python, C/C++, assembly language or other programming experience

Preferred Qualifications

  • Experience with RISC-V, ARM and/or MIPS CPU and ISA
  • KVM experience is a plus
  • Experience with writing debug software such OpenOCD is a plus
  • Compiler toolchain experience is a plus

Roles and Responsibilities

  • Customize Linux implementation for our CPU IP
  • Architecture development and specification. From early high-level architectural exploration, through working with designers on micro architectural tradeoffs and arriving at detailed specification
  • Create debug tools for our CPU IP
  • Bringup Linux in an FPGA environment, debug with gdb, write soak/stress tests
  • Bringup, run and operate Linux in a QEMU environment by adding enhancements such as compatible drivers

To apply, click the Apply Now button to email your cover letter and resume. We will respond with any next steps for qualified candidates.