Our first 10 years have gone. The company has grown from just 2 people to more than 30. We are in great shape and still expanding. The growth of the business and company in the last two-three years was incredible. Ah, to celebrate this land mark we give out a party to meet with our staff and their families, partners and friends of the company. An anniversary T-shirt is of course designed and manufactured for this occasion!
We complete Data Plane Development Kit (DPDK) framework support for Cavium ThunderX system-on-chip, which includes the following features:
- VNIC PMD (low-level DPDK network driver)
- Multiple queues support
- Offloads (checksum, RSS, HW stats, packet classification etc.)
- DPDK 2.1 compliant, based on Linux kernel 3.18
FreeBSD/arm for Cavium ThunderX is officially complete! We are bringing the very first ARMv8 platform support, production ready and performance optimised. The more important functional features are:
- Single and dual-socket operation (48 and 96 CPUs)
- Ethernet (VNIC) 10/40G
- Other required drivers (GICv3, Interrupt Translation Services)
We create an initial implementation of OpenDataPlane (ODP) framework for Cavium ThunderX system-on-chip. This is one of the first ever ARMv8 systems to run ODP and comes with:
- user space VNIC driver
- HW access layers based on VFIO and UIO kernel subsystems
- huge-TLB support for 4k and 64k page sizes
- performance optimisations
During BSDCan’2015 in Ottawa, at the FreeBSD developer summit we demo an initial FreeBSD/arm64 support for Cavium ThunderX server chip! The kernel runs 48-core SMP with NFS-based root filesystem as initial storage. This is the first ever instance of FreeBSD running on ARMv8 (64-bit ARM, Aarch64) system!
We set out with an idea of reaching out to local developers audience and organize a series of technical events under the Network Technology Evening brand. The first meeting is about OpenContrail technology and its
implementation under the hood. The follow up meetings cover data plane (DPDK) frameworks and Tilera TCP/IP user space stack.
Support for Transparent Superpages on FreeBSD/arm is complete. The project developed by Semihalf is sponsored by the FreeBSD Foundation and later merged with the public SVN source tree. Technical review and approval was kindly done by Alan Cox, professor at Rice University, the original author of Transparent Superpages design for FreeBSD/amd64 architecture.
Our NetBSD support for Marvell Armada-XP is merged upstream with the help of Radosław Kujawa, a fellow NetBSD developer. It is noteworthy Semihalf brings the first ever NetBSD/arm support for multicore systems (SMP) with this port.
We start working with Linaro Enterprise Group (LEG) in order to bring server-class experience to Linux/arm. The project activities include among other items ACPI for ARMv8, virtualisation (KVM) form ARMv8, PCI-Express support, including SR-IOV and upstreaming all changes and extensions to kernel.org Linux repository.
Semihalf completes an advanced product, the prototype of a tablet with touch screen. Our original design was based on OMAP4, using PoP memory technology. Besides PCB and mechanical design our team had the full software stack (from bootloader to Android Gingerbread) run on the device. Heck, we had Angry Birds nicely running on this shortly after electronic bring-up!
We complete an FPGA-based vision system for military purposes. The research project included PCB creation, design and implementation from scratch of a soft core (AVR3 architecture with our own extensions) and vision IP-block proper, accompanied by control plane (MilCAN driver, communications protocol).
NAND Flash framework for FreeBSD is created by Semihalf. The NAND support software package comprises of the NAND framework for managing directly-attached NAND chips, drivers for individual vendors NAND chips and fully fledged NAND Flash Filesystem (NANDFS), designed specifically and dedicated for NAND chip storage (logged, append-only approach for wear-leveling and similar features). For testing, debugging and optimisations we created a simulator of the NAND chip(s), the NANDsim.
Semihalf is co-organizing the meetBSD 2010 international conference in Kraków. Users and developers of BSD projects come from around the world to speak and meet in Kraków. The venue is at the modern campus of Jagiellonian University, an official partner of the conference. The event is kindly sponsored by the FreeBSD Foundation, Google, iX Systems and Marvell.
We speak at BSDCan in Ottawa again. This year about enabling FreeBSD with Flattened Device Tree (FDT) technology. Initially supported architectures are ARM and PowerPC, some reference implementation for processing DTS (Device Tree Source) description are provided for Freescale and Marvell system-on-chip
Flattened Device Tree (FDT) support for FreeBSD is complete. The technology derived from OpenFirmware concepts allows for description of hardware resources in an abstract way and have software be independent of low-level chip-specifics. The project is developed by Semihalf with sponsorship from the FreeBSD Foundation.
U-Boot API for external “applications” is in mainline. This new and extensible mechanism developed by Semihalf is similar to UNIX syscall approach and allows any simple application (e.g. a later stage bootloader) utilise U-Boot peripheral drivers in a platform-agnostic way, without reimplementing low-level access code at the “application” level.
Semihalf gets to work with Marvell, a fabless chipmaker from Silicon Valley. FreeBSD support for Marvell Orion, Kirkwood and Discovery families is developed and complete. All system-on-chip devices are based on ARMv5TE core, FreeBSD/arm is now able to run on higher performance chips, not just small, low-power, machines.
FreeBSD support for Freescale MPC85xx (PowerPC) SoC is complete. Technically, a very challenging and exciting project, becomes a significant success. We have a very happy high profile customer (Juniper Networks), which marks the beginning of our cooperation for over 10 years now. Initial partnership with Freescale is also established as they are the provider of hardware platform.