DPDK 19.02 Release 

The 19.02 release of Data Plane Development Kit (DPDK) includes a lot of code created by Semihalf team. We are the 5th biggest contributor of this release!


Please check back later, we’re working on bringing more 2017 and 2018 entries soon.

FreeBSD commit bit for MW 

Marcin Wojtas is awarded with the FreeBSD src (kernel) commit bit for his contributions around Marvell Armada 38x support for FreeBSD/arm. Please congratulate mw@freebsd.org!

FreeBSD driver for Amazon ENA 

Our FreeBSD host driver for Amazon Elastic Network Adapter (ENA) is complete  and publicly available in Amazon Github repository. It can be run initially with X1 instances in the EC2 cloud, providing 25Gbps network capacity per port. Later that year all instance types are going to feature ENA hardware.

Speaking at BSDCan'2016 

We speak at BSDCan in Ottawa again. This year’s major theme is FreeBSD/arm support for Cavium ThunderX server chip, so there we go again.

New office at Krakusa 11 

Semihalf is growing and moving to a new office. “New” is actually the old chocolate factory, built in 1930s and now renovated as an office building,  full of hi-tech companies.

FreeBSD Journal on ThunderX 

We make it to the cover of May/June 2016 issue of the FreeBSD Journal! The article “FreeBSD on Cavium ThunderX System on a Chip” documents our many months of work bringing the very first ARMv8 system support to reality.

DPDK 16.04 on Amazon ENA 

The 16.04 release of Data Plane Development Kit (DPDK) includes Semihalf work on Amazon Elastic Network Adapter (ENA) support. The ENA network adapter delivers 25Gbps per port and is available in selected AWS EC2 instances.

Barcamp Spring 2016 

In the Spring of 2016 we organise another Semihalf Barcamp series (“The Bridled ARM”) with the following topics:

  • KVM virtualization on ARM
  • Multicore ARM communication in practice
  • Heterogenous microprocessor systems
Speaking at AsiaBSDCon'2016 

We speak at AsiaBSDCon’2016 in Tokyo. The talk is about FreeBSD/arm support for Cavium ThunderX.

Juniper Networks' Contrail 3.0 

Juniper Networks releases Contrail 3.0 featuring DPDK-based vRouter (virtual router) implementation created by our team. Later in 2016 a large scale deployment of the system (1000’s of server nodes) gets completed at a major US telecom.

ThunderX DPDK at MWC'16 

The DPDK support for Cavium ThunderX developed by Semihalf is demonstrated at Barcelona’s Mobile World Congress 2016.

Semihalf is 10 years old! 

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!

FreeBSD commit bit for WMA 

Wojciech Macek is granted the FreeBSD src (kernel) commit bit for his contributions in the FreeBSD/arm area. Please welcome wma@freebsd.org!

DPDK on Cavium ThunderX 

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 on Cavium ThunderX 

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)
  • PCI-Express
  • SATA
  • Ethernet (VNIC) 10/40G
  • Other required drivers (GICv3, Interrupt Translation Services)
Barcamp Fall 2015 

In the Fall of 2015 we strike again with Semihalf Barcamp series (“Create your own embedded system”). There are some tasty topics for you:

  • Soft core implementation of a microcontroller
  • Bare metal and bootloaders
  • Writing your own RTOS (is not entirely impossible)
FreeBSD/arm on APM X-Gene 

FreeBSD/arm for AppliedMicro X-Gene (ARMv8) is complete. We support multicore operation (8-core SMP) and all major peripherals on the chip, including PCI-Express bridge, Ethernet, SATA and USB.

ODP on Cavium ThunderX 

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
FreeBSD on Aarch64 (ARMv8) 

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!

New season of technical events 

In the spring of 2015 series (Hardware Programmers’ Evening) we have the following topics to get you excited:

  • Memory hierarchy in computer systems
  • Linux Ethernet drivers in depth
  • PCI virtualisation (SR-IOV)
FreeBSD driver for LiquidIO 

FreeBSD host driver for Cavium LiquidIO is complete. The code is using Cavium CNNIC-SDK and supports line rate performance of the 10/40Gbps family of smart NIC devices

FreeBSD/arm on Alpine V1 

FreeBSD/arm for Annapurna Labs system-on-chip is complete. We support  multicore operation and all major peripherals on the chip, including 10Gbps Ethernet. The code is later (mid 2015) committed to the FreeBSD SVN repository.

Speaking at EuroBSDCon'2014 

We speak at EuroBSDCon’2014 conference in Sofia. This time the talk is about OpenStack and OpenContrail for FreeBSD (as a virtualisation host).

Writing for Programista magazine 

The first article in Programista magazine (November 2014 edition), featuring Marcin Wojtas’ piece on writing Linux Ethernet network drivers in the context  of Linux 3.17. Since then Semihalf developers keep writing articles for the magazine to date.

Linux driver for Marvell PPv2 

Linux driver for Marvell Packet Processor (PPv2) is complete and merged with Linux  GIT repository. It is released as part of official Linux 4.2 and brings full support for this new Ethernet controller.

Organizing technical events 

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.

Superpages world tour 

Transparent Superpages for FreeBSD/arm world tour! This year we’re speaking about this project at AsiaBSDCon’2014 (February) in Tokyo and at BSDCan’2014 (May) in Ottawa.

Speaking at EuroBSDCon'2013 

We speak at EuroBSDCon’2013 conference. There are two talks given by Semihalf developers:

  • NetBSD support for Marvell Armada-XP (ARMv7 based system-on-chip)
  • Highly parallel, lockless, user space TCP/IP stack implementation for Tilera system-on-chip
FreeBSD commit bit for ZBB 

Zbigniew Bodek is awarded with the FreeBSD src (kernel) commit bit for his many contributions around FreeBSD/arm and FreeBSD/powerpc areas. Please welcome zbb@freebsd.org!

Superpages for FreeBSD/arm 

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.

NetBSD for Armada-XP published 

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.

Doing LEG work 

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.

Tilera TCP/IP stack 

We complete a highly parallel, lockless, userspace TCP/IP stack implementation for Tilera TILE system-on-chip device. The stack runs on a 36 or 72 manycore chip, fitting into Tilera network environment (netlib).

FreeBSD on Cortex-A15 

FreeBSD/arm for Cortex-A15 is complete, including dual-core SMP operation. Even though the real CA15 core implementation was not widely available in chips on the market, we created the code using ARM Fastmodels simulation environment. ARM Holdings and Semihalf were co-sponsoring this project.

NAND Flash framework is published 

The NAND Flash framework is open sourced and merged with FreeBSD SVN repository. The upstream preparation, clean-up and merging effort was jointly sponsored by the FreeBSD Foundation, Juniper Networks and Semihalf.

Speaking at BSDCan'2012 

Another conference speech this year at BSDCan’2012 in Ottawa. Again, this is regarding the FreeBSD/powerpc DPAA multicore systems port, but on a different continent and at the biggest BSD conference.

Speaking at AsiaBSDCon'2012 

We speak at AsiaBSDCon’2012 in Tokyo. The talk is about FreeBSD/powerpc for Freescale DPAA multicore systems.

FreeBSD/powerpc on DPAA 

FreeBSD/powerpc support for Freescale DPAA family of system-on-chip devices is complete. The port brings full functionality of E500mc core complex, SMP and all major peripherals like network, storage and crypto engine. The code is later (during 2016) merged with the SVN tree.

Creating a tablet 

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!

FreeBSD/arm on Armada-XP 

FreeBSD support for Marvell Armada-XP SoC is done. This project brings full support for ARMv7 core, including the first ever implementation of multicore operation (SMP) of FreeBSD/arm, plus all major peripherals support (Ethernet, SATA, USB).

FPGA-based vision system 

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).

FreeBSD commit bit granted 

Grzegorz Bernacki is invited to the ranks of FreeBSD src (kernel) commiters, commits from gber@freebsd.org start coming to the SVN tree.

Creating NAND Flash framework 

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.

UEFI on ARM chips 

We complete the very first port of UEFI bootloader/BIOS to an ARM embedded platform, Marvell Armada-XP system-on-chip.

Co-organizing meetBSD'2010 

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.

Speaking at BSDCan'2010 

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 Trees on FreeBSD 

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.

Speaking at AsiaBSDCon'2009 

We speak at AsiaBSDCon’2009 in Tokyo. The talk is about FreeBSD for Freescale multicore systems, covering challenges and the outcome of porting to MPC8572, bringing up SMP and scalability.

Cooperation with universities 

Semihalf begins cooperation with local technical universities in Kraków (AGH University of Science and Technology and Jagiellonian University). We deliver a couple of open lectures focused on embedded design and operating systems development.

FreeBSD/powerpc on MPC8572 

FreeBSD support for Freescale MPC8572 (dual-core E500 PowerPC) is complete. This is a follow up work carrying on the single-core systems support (MPC8555, MPC8548) that we have developed earlier. The challenging part was multicore support (SMP) created for the first time ever for FreeBSD/powerpc.

Speaking at BSDCan'2008 

We speak at BSDCan’2008 and have two lecture slots! The first is covering U-Boot interface (API) newly designed and developed by Semihalf for native FreeBSD and other non-Linux booting environment. The second speech provides details of FreeBSD port to Marvell chips.

U-Boot API in mainline 

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.

FreeBSD/arm on Marvell chips 

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 commit bit granted 

Rafał Jaworowski is invited to the ranks of FreeBSD src (kernel) committers, the first commits authored by raj@freebsd.org appear in the CVS source tree.

We are hiring! 

The company hires its first 2 permanent employees, we are 4 people now.

In Silicon Valley 

Semihalf visits Silicon Valley and customers for the first time.

BSDCan'2007 conference 

We speak at the first international conference, BSDCan’2007 in Ottawa, about embedding FreeBSD in contemporary system-on-chip devices. The lecture dives deep into challenges of porting FreeBSD/powerpc to Freescale E500 core and MPC85xx SoC.

FreeBSD/powerpc on MPC85xx 

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.

Semihalf is founded 

We get officially registered in the court.