Re: Porting to Snapdragon 8cx SoC
- Reply: Ludovic Hirlimann : "Re: Porting to Snapdragon 8cx SoC"
- In reply to: Mark Millard : "Re: Porting to Snapdragon 8cx SoC"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 26 Jan 2026 19:50:23 UTC
I submitted a pull request to handle ACPI devices as handled in the OpenBSD source tree. https://github.com/freebsd/freebsd-src/pull/1971 On Mon, Jan 12, 2026 at 6:47 PM Mark Millard <marklmi@yahoo.com> wrote: > On 1/12/26 15:42, Mark Millard wrote: > > On 1/12/26 15:33, Mark Millard wrote: > >> On 1/12/26 15:09, Mark Millard wrote: > >>> On 1/12/26 12:57, Gabe Bauer wrote: > >>>> Hello, community! I am reaching out because I have a Thinkpad X13s > with > >>>> a Snapdragon 8cx Gen 3 SoC. I have been unable to get any operating > >>>> system to work so far on this machine. I have done a fair amount of > >>>> coding and debugging in C. However, I have never ported an operating > >>>> system before. I am in my senior year at university and I would like > to > >>>> undertake this as a project. I have an x86_64 machine running FreeBSD > >>>> which I can use to help me in this endeavour. However, since I have > >>>> never done this before, I lack the domain specific knowledge on what I > >>>> will need in order to be successful. Any tips on how to get started > >>>> would be greatly appreciated. Thank you very much!! > >>> > >>> > >>> Well, the Windows Dev Kit 2023 used(/uses) a Snapdragon 8cx Gen 3 SoC > >>> and has a UEFI/ACPI that FreeBSD boots just fine. But FreeBSD does not > >>> support the 2 USB-C ports in the result. It does support the 3 USB-A > >>> ports, including booting from USB-A ports. (Some UEFI configuration > >>> required to make that the default. I leave the internal drive with > >>> Windows 11 Pro, forming the local Windows on aarch64 example when > booted > >>> that way.) > >>> > >>> But, in the FreeBSD based Dev Kit 20023 context, the UEFI/ACPI that is > >>> built-in has the Snapdragon 8cx Gen 3 SoC related magic in it instead > of > >>> in the FreeBSD kernel, if I understand right. > >>> > >>> The UEFI/ACPI source code is not public as far as I know. > >>> > >>> > >>> The Snapdragon 8cx Gen 3 SoC presents as having: > >>> > >>> 4 Cortex-A78C > >>> and > >>> 4 Cortex-X1C > >>> > >>> > >>> FreeBSD does report the following relative to the ACPI and what FreeBSD > >>> does not handle: > >>> > >>> ACPI Error: AE_NOT_FOUND, While resolving a named reference package > >>> element - \134_SB_.UBF0.PRT0 (20251212/dspkginit-605) > >>> ACPI Error: AE_NOT_FOUND, While resolving a named reference package > >>> element - \134_SB_.UBF0.PRT1 (20251212/dspkginit-605) > >>> . . . > >>> ACPI Warning: \134_SB.GPU0._CLS: Return Package is too small - found 1 > >>> elements, expected 3 (20251212/nsprepkg-511) > >>> can't fetch resources for \134_SB_.ADC1 - AE_AML_INVALID_RESOURCE_TYPE > >>> acpi0: Could not update all GPEs: AE_NOT_CONFIGURED > >>> > >>> The 2 "ACPI Error" messages may well be tied to the 2 USB-C ports. > >>> > >>> > >> > >> Looking around, the following are the commits that reference the Windows > >> Dev Kit 2023. The older ones may give hints at what was required to get > >> the FreeBSD kernel to boot based on the UEFI/ACPI involved. > >> > >> > >> Commit message > >> Author Age Files Lines > >> Commit URL > >> > >> lib/libmd: add optimised SHA1 implementations for aarch64 > >> Robert Clausecker 2025-05-14 2 -0/+514 > >> > https://cgit.freebsd.org/src/commit/?id=f6210541f9e3c6cfda321e0ad98f277fb98a625b > >> > >> libc/aarch64: fix strlen() when flush-to-zero is set > >> Robert Clausecker 2025-01-16 1 -2/+1 > >> > https://cgit.freebsd.org/src/commit/?id=521c1fe0e2002dfd7d8db86eb7144b7865229912 > >> > >> arm64: Enable the Hyper-V keyboard driver > >> Andrew Turner 2023-06-21 1 -0/+2 > >> > https://cgit.freebsd.org/src/commit/?id=3a1bfe881a24a76ff8d6406476461924a027ea8a > >> > >> arm64: Disable PAC when booting on a Windows Dev Kit 2023 > >> Mark Johnston 2023-04-23 1 -1/+30 > >> > https://cgit.freebsd.org/src/commit/?id=4b39a12830feaf2ac49b157ed079c04114b1a3ca > >> > >> Add CPU Ident for Qualcomm Kryo 400 (used in MS Dev Kit) > >> Allan Jude 2023-01-18 2 -1/+14 > >> > https://cgit.freebsd.org/src/commit/?id=fd5e9210598cfafbecc05b5ec03da25483833f90 > >> > >> Add the fixed memory type to the pci ecam driver > >> Andrew Turner 2023-01-18 1 -3/+20 > >> > https://cgit.freebsd.org/src/commit/?id=896f556205c8d87ef842dc844752daa7d2385336 > >> > >> loader.efi: make sure kernel image is executable > >> Robert Clausecker 2023-01-05 1 -4/+4 > >> > https://cgit.freebsd.org/src/commit/?id=95fa2e0aee5b7259cf4bcdea7396c4dff3241173 > >> > >> Add Windows Dev Kit 2023 support to if_ure > >> Andrew Turner 2023-01-04 2 -0/+2 > >> > https://cgit.freebsd.org/src/commit/?id=e5b9b5ee8c3a4f3bff348cd94e3555e6b69585f6 > >> > >> Check for more XHCI ACPI IDs > >> Andrew Turner 2023-01-04 1 -4/+7 > >> https://cgit.freebsd.org/src/commit/? > >> id=8793196ca28f7b78f04ca479fe60b7d7af6b20e1 > >> > >> > > > > I see that last URL ended up split. Trying an alternate notation to see > > if it avoids that: > > > > < > https://cgit.freebsd.org/src/commit/?id=e5b9b5ee8c3a4f3bff348cd94e3555e6b69585f6 > > > > > > > > Not my day, trying for the right URL this time . . . > > < > https://cgit.freebsd.org/src/commit/?id=8793196ca28f7b78f04ca479fe60b7d7af6b20e1 > > > > -- > === > Mark Millard > marklmi at yahoo.com > >