About me

Picture of me in a dragon boat.

profile for unixsmurf at Stack Overflow, Q&A for professional and enthusiast programmers

System programmer with extensive ARM architecture and open-source development experience.

Languages: Swedish (native), English (fluent), German (basic)

Location: Strathdon, Scotland (remote)

Employment history

From To Where
March 2021 present Qualcomm
January 2020 March 2021 NUVIA inc (acquired by Qualcomm 2021-03-16)
May 2018 December 2019 Linaro ltd (directly employed)
January 2013 May 2018 Linaro ltd (assignee from ARM)
December 2005 May 2018 ARM ltd, Cambridge, UK
July 2001 December 2005 i3 Micro Technology AB, Akalla, Sweden
July 2000 June 2001 Real Time Logic ltd
1999 2000 Datessa AB, Södertälje, Sweden

Open-source contributions

Project Contribution
EDK2/Tianocore Tianocore steward, maintainer of edk2 ArmPkg/ArmPlatformPkg/EmbeddedPkg as well as edk2-platforms and edk2-non-osi. Reviewer of initial RiscV64 port.
GRUB Ports to ARM architectures. Various EFI contributions. Port to U-Boot API.
Linux kernel AArch32 SWP instruction emulation, genericised condition code handling, device tree stdout-path console selection.
Open-MPI Port to ARMv7-A
QEMU Various minor ARM architectural contributions. Designated reviewer for sbsa-ref.
U-Boot Review of UEFI interface implementation, as well as some debug/testing and identifying missing protocols.
sdate Added endless March support.

Projects

Qualcomm inc

Principal Engineer - Core Plaform Boot (March 2023 onwards)

Guiding work to align in-house tianocore fork with upstream, bringing it in line with industry standards it had diverged from, and training the team on the upstreaming process and the use of git.

Principal Engineer - Application processor firmware lead (- March 2023)

Same role and responsibilities as before acquisition.

NUVIA inc

Application processor firmware lead

Joined as one of the first members of the software group in January 2020 and helped build up the organisation through the lockdowns.

Together with the SoC firmware lead, defined a "virtual platform progression" approach enabling loosely lock stepped refinement of firmware and models during SoC design and development.

Linaro ltd

UEFI Team Lead

Enterprise Software Engineer

ARM ltd.

Staff/Principal Software Engineer

Joined the architectural software enablement group, initially as the sole resource focusing on SMP software in general, which eventually evolving into the initial ARM server software project.

Started aligning with and working together with the Linaro Enterprise Group (announced November 2012) from around the time of Linaro Connect 2012.Q2 in Hong Kong, eventually leading to my transition from January 2013 into a full-time assignee to Linaro.

Information Developer

The Information Developer role was created to provide a more hands-on approach to documentation. My target audience was software developers targeting ARM processors.

Kept working on and presenting customer training material.

Senior/Staff Applications Engineer

Specialising in the embedded software (TrustZone, JTEK, ...) range of products, and ARM development boards - especially Versatile EB + ARM11MPCore. Created software customer training for ARM11 MPCore and generic multiprocessor software development.

i3 Micro Technology AB

System Developer

Datessa AB

In-house system administration for small local database application consultancy. Also consulting as UNIX administrator, and some programming for y2k-proofing of existing applications.

Publications and presentations

Longer Education

From To Where
1996 1999 Computer engineering, specializing in real time systems, at KTH (the Royal Institute of Technology), Sweden.
1995 1996 Military service as squad leader in a pioneer platoon at the Svea Life Guards