Skip to content

Instantly share code, notes, and snippets.

@xypron
xypron / Milk-V_Mars_Boot_Source_Selection_SD_card.jpg
Last active March 8, 2024 02:22
Boot select switches on Milk-V Mars
Milk-V_Mars_Boot_Source_Selection_SD_card.jpg
@xypron
xypron / gist:43b58aac1232e73b8eff749fbcc3b4b3
Created March 6, 2024 15:26
OpenOCD specification for PolarFire Icicle Board
#**************************************************************************
# Copyright (C) 2015-2020 by Microchip Technology Inc. *
# http://www.microchip.com/support *
# *
# This program is free software; you can redistribute it and/or modify *
# it under the terms of the GNU General Public License as published by *
# the Free Software Foundation; either version 2 of the License, or *
# (at your option) any later version. *
# *
# This program is distributed in the hope that it will be useful, *
@xypron
xypron / gist:2202c7b86cdd149d70c59d353e64e76e
Created February 20, 2024 22:36
defective in memory device-tree when running u-boot-starfive_2024.01+dfsg-1ubuntu1_riscv64
Device-tree in memory
$47 = 0xff72efc9 "clock-f\001"
(gdb) x/16w 0xff72efa0
0xff72efa0: 0x69006b73 0x7265746e 0x74707572 0x70616d2d
0xff72efb0: 0x72777000 0x672d6e65 0x736f6970 0x73657200
0xff72efc0: 0x672d7465 0x736f6970 0x6f6c6300 0x662d6b63
0xff72efd0: >>0x00000001<< 0x79636e65 0x66697300 0x2c657669
0xff72efe0: 0x2d726464 0x61726170 0x6300736d 0x6b636f6c
0xff72eff0: 0x74756f2d 0x2d747570 0x656d616e 0x756d0073
@xypron
xypron / gist:09a82594047b9f736c09f5839ff90272
Created February 17, 2024 12:29
OpenOCD configuration of SiFive HiFive Unmatched
adapter speed 10000
adapter driver ftdi
ftdi device_desc "Dual RS232-HS"
ftdi vid_pid 0x0403 0x6010
ftdi layout_init 0x0008 0x001b
ftdi layout_signal nSRST -oe 0x0020 -data 0x0020
set _CHIPNAME riscv
transport select jtag
@xypron
xypron / gist:b1c10073a321b2ca9afa433215ab74b6
Created February 4, 2024 10:42
Detect Zba, Zbc extensions
// SPDX-License-Identifier: 0BSD
#include <stdio.h>
int test_sh1add(void) {
long x = -1L;
__asm__ volatile (
"mv a0, zero\n"
"li t1, 0x30\n"
@xypron
xypron / Lenovo_X13s_UEFI_SCT_result.csv
Last active December 23, 2022 03:50
Lenovo X13s UEFI Self Conformance Test results
We can't make this file beautiful and searchable because it's too large.
"Self Certification Test Report"
"Service\Protocol Name","Total","Failed","Passed"
"BootServicesTest\EventTimerandPriorityServicesTest","34","3","31"
"BootServicesTest\MemoryAllocationServicesTest","138","0","138"
"BootServicesTest\ProtocolHandlerServicesTest","1216","0","1216"
"BootServicesTest\ImageServicesTest","125","0","125"
"BootServicesTest\MiscBootServicesTest","118","0","118"
"RuntimeServicesTest\VariableServicesTest","57","5","52"
"RuntimeServicesTest\TimeServicesTest","31","0","31"
"RuntimeServicesTest\MiscRuntimeServicesTest","12","0","12"
@xypron
xypron / events for block devices.txt
Last active October 3, 2022 06:22
EDK II model of an NVMe drive: Usage of EFI_OPEN_PROTOCOL_BY_CHILD_CONTROLLER, EFI_OPEN_PROTOCOL_BY_DRIVER
sandbox_defconfig
=> host bind 0 ../sandbox.img
efi_disk_probe: probed device: host0:1
efi_disk_probe: probed device: host0
=> host bind 0 ../sandbox.img
efi_disk_remove: removed device: host0
efi_disk_remove: removed device: host0:1
efi_disk_probe: probed device: host0:1
efi_disk_probe: probed device: host0
@xypron
xypron / device-tree
Last active July 3, 2022 10:33
Trying to boot U-Boot qemu-riscv64_smode_defconfig with QEMU KVM
=> fdt print
/ {
#address-cells = <0x00000002>;
#size-cells = <0x00000002>;
compatible = "riscv-virtio";
model = "riscv-virtio,qemu";
fw-cfg@10100000 {
dma-coherent;
reg = <0x00000000 0x10100000 0x00000000 0x00000018>;
compatible = "qemu,fw-cfg-mmio";
@xypron
xypron / test.c
Last active July 2, 2022 08:49
U-Boot: test reading via EFI_BLOCK_IO_PROTOCOL
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright 2022, Heinrich Schuchardt <xypron.glpk@gmx.de>
*
* Read blocks
*/
#include <common.h>
#include <efi_api.h>
@xypron
xypron / Dockerfile.alpine
Created January 15, 2022 18:15
Dockerfile for building U-Boot on Alpine Linux
# SPDX-License-Identifier: GPL-2.0+
# This Dockerfile is used to build an image containing basic stuff to be used
# to build U-Boot and run our test suites.
FROM alpine:3.15.0
MAINTAINER Heinrich Schuchardt <xypron.glpk@gmx.de>
LABEL Description=" This image is for building U-Boot inside a container"
# Install packages
RUN apk update