<html><body><p><font size="2">Hello Joel,</font><br><br><font size="2">Per your request yesterday, I am emailing the details of my kexec/kdump development efforts.</font><br><br><font size="2">I am running QEMU</font><ul><font size="2">qemu-system-arm --version</font><br><font size="2">QEMU emulator version 5.2.0 (v5.1.0-3479-g27ca38d3db)</font><br><font size="2">Copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers</font><br><font size="2">qemu-system-arm -d cpu_reset -M tacoma-bmc -kernel /tmp/tmp.y2fpdAXM1h.kernel -dtb /tmp/tmp.BWkadwNbTf.dtb -initrd /tmp/tmp.jRpFbzfpBs.initrd -drive file=obmc-phosphor-image-witherspoon-tacoma.wic,if=sd,format=raw,index=2 -net nic -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu -nographic -append "crashkernel=64M console=ttyS4,115200n8 rootwait root=PARTLABEL=rofs-a"</font></ul><br><font size="2">From OpenBMC within QEMU I am using the following to test kexec</font><ul><font size="2">kexec -d -l /home/kexec_files/tmp.y2fpdAXM1h.kernel --initrd=/home/kexec_files/tmp.jRpFbzfpBs.initrd --dtb=/home/kexec_files/tmp.BWkadwNbTf.dtb --append="earlycon console=ttyS4,115200n8 rootwait root=PARTLABEL=rofs-a 1 maxcpus=1 reset_devices"</font><br><font size="2">kexec -d -e</font></ul><br><font size="2">This is my source code starting point: (taken from </font><a href="https://github.com/openbmc/openbmc"><u><font color="#0000FF">openbmc/openbmc: OpenBMC Distribution (github.com)</font></u></a> <font size="2">)</font><ul><font size="2">bam@latitude-e5430:~/my_git/openbmc/openbmc$ git log</font><br><font size="2">commit c0263ac8ac029de5e7651a22cc864c4b3aaea5c3 (HEAD)</font><br><font size="2">Author: Andrew Geissler <openbmcbump-github@yahoo.com></font><br><font size="2">Date:   Wed Feb 17 00:51:19 2021 +0000</font><br><br><font size="2">    phosphor-sel-logger: srcrev bump 7d8a3003fb..dbd77b9200</font><br><br><font size="2">    Charles Hsu (1):</font><br><font size="2">          Add watchdog event monitor</font><br><br><font size="2">    Change-Id: I08d375e006e560c573896349562ca53e3162d628</font><br><font size="2">    Signed-off-by: Andrew Geissler <openbmcbump-github@yahoo.com></font><br><br><font size="2">commit 91dd8078a5855ee7369c0d60dc405511c4941def</font><br><font size="2">Author: Andrew Geissler <openbmcbump-github@yahoo.com></font><br><font size="2">Date:   Tue Feb 16 19:51:09 2021 +0000</font><br><br><font size="2">    phosphor-power: srcrev bump de0fd44f76..10d9405574</font><br><br><font size="2">    Jay Meyer (1):</font><br><font size="2">          Capture PSU STATUS_MFR_SPECIFIC during analysis</font><br><br><font size="2">    Change-Id: Ifd8b0e4b7dd2cd43f3e861e27d52ba03034a4d22</font><br><font size="2">    Signed-off-by: Andrew Geissler <openbmcbump-github@yahoo.com></font><br></ul><font size="2">This shows the modified files:</font><ul><font size="2">bam@latitude-e5430:~/my_git/openbmc/openbmc$ git status</font><br><font size="2">HEAD detached at c0263ac8a</font><br><font size="2">Changes not staged for commit:</font><br><font size="2">  (use "git add <file>..." to update what will be committed)</font><br><font size="2">  (use "git checkout -- <file>..." to discard changes in working directory)</font><br><br><font size="2">        modified:   meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig</font><br><font size="2">        modified:   meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend</font><br></ul><font size="2">This shows the git diff meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig</font><ul><font size="2">bam@latitude-e5430:~/my_git/openbmc/openbmc$ git diff meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig</font><br><font size="2">diff --git a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig</font><br><font size="2">index b80042396..92de519a5 100644</font><br><font size="2">--- a/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig</font><br><font size="2">+++ b/meta-aspeed/recipes-kernel/linux/linux-aspeed/aspeed-g6/defconfig</font><br><font size="2">@@ -18,6 +18,10 @@ CONFIG_BLK_DEV_INITRD=y</font><br><font size="2"> # CONFIG_RD_LZ4 is not set</font><br><font size="2"> # CONFIG_UID16 is not set</font><br><font size="2"> # CONFIG_SYSFS_SYSCALL is not set</font><br><font size="2">+CONFIG_SYSFS=y</font><br><font size="2">+CONFIG_CRASH_DUMP=y</font><br><font size="2">+CONFIG_PROC_VMCORE=y</font><br><font size="2">+AUTO_ZRELADDR=y</font><br><font size="2"> # CONFIG_AIO is not set</font><br><font size="2"> CONFIG_BPF_SYSCALL=y</font><br><font size="2"> CONFIG_EMBEDDED=y</font><br><font size="2">@@ -299,3 +303,5 @@ CONFIG_FUNCTION_TRACER=y</font><br><font size="2"> CONFIG_DEBUG_WX=y</font><br><font size="2"> CONFIG_DEBUG_USER=y</font><br><font size="2"> # CONFIG_RUNTIME_TESTING_MENU is not set</font><br><font size="2">+</font><br><font size="2">+CONFIG_MAGIC_SYSRQ=y</font></ul><br><font size="2">This shows the git diff meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend</font><ul><font size="2">bam@latitude-e5430:~/my_git/openbmc/openbmc$ git diff meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend</font><br><font size="2">diff --git a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend</font><br><font size="2">index 29a567e27..5a19f561b 100644</font><br><font size="2">--- a/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend</font><br><font size="2">+++ b/meta-ibm/recipes-phosphor/packagegroups/packagegroup-obmc-apps.bbappend</font><br><font size="2">@@ -28,9 +28,9 @@ RDEPENDS_${PN}-inventory_append_mihawk = " openpower-fru-vpd openpower-occ-contr</font><br><font size="2"> RDEPENDS_${PN}-fan-control_append_ibm-ac-server = " fan-watchdog"</font><br><font size="2"> RDEPENDS_${PN}-fan-control_append_rainier = " fan-watchdog"</font><br><font size="2"> RDEPENDS_${PN}-extras_append_ibm-ac-server = " ${POWER_SERVICE_PACKAGES_AC_SERVER} witherspoon-power-supply-sync phosphor-webui"</font><br><font size="2">-RDEPENDS_${PN}-extras_append_rainier = " ${POWER_SERVICE_PACKAGES_RAINIER} webui-vue dbus-sensors phosphor-virtual-sensor"</font><br><font size="2">+RDEPENDS_${PN}-extras_append_rainier = " ${POWER_SERVICE_PACKAGES_RAINIER} webui-vue dbus-sensors phosphor-virtual-sensor kexec-tools file"</font><br><font size="2"> RDEPENDS_${PN}-extras_append_mihawk = " phosphor-webui phosphor-image-signing wistron-ipmi-oem ${POWER_SERVICE_PACKAGES_AC_SERVER}"</font><br><font size="2">-RDEPENDS_${PN}-extras_append_witherspoon-tacoma = " pldm srvcfg-manager webui-vue biosconfig-manager"</font><br><font size="2">+RDEPENDS_${PN}-extras_append_witherspoon-tacoma = " pldm srvcfg-manager webui-vue biosconfig-manager kexec-tools file"</font><br><br><font size="2"> RDEPENDS_${PN}-extras_remove_rainier = "obmc-ikvm liberation-fonts uart-render-controller"</font><br><font size="2"> RDEPENDS_${PN}-extras_remove_swift = "obmc-ikvm"</font><br><font size="2">bam@latitude-e5430:~/my_git/openbmc/openbmc$</font><br></ul><br><font size="2">Here is where I am staring from for linux-aspeed:</font><ul><font size="2">bam@latitude-e5430:~/my_git/openbmc/openbmc/build/witherspoon-tacoma/workspace/sources/linux-aspeed$ git log</font><br><font size="2">commit 56621ca6dcf8c20fc7bc72771df00cd3d59c153b</font><br><font size="2">Author: Joel Stanley <joel@jms.id.au></font><br><font size="2">Date:   Tue Feb 9 13:47:10 2021 +1030</font><br><br><font size="2">    ARM: configs: aspeed: Update defconfigs</font><br><br><font size="2">    OpenBMC-Staging-Count: 1</font><br><font size="2">    Signed-off-by: Joel Stanley <joel@jms.id.au></font><br><br><font size="2">commit 88c06f67f99fead1fba4ab508786f5ef824a7404</font><br><font size="2">Author: Tomer Maimon <tmaimon77@gmail.com></font><br><font size="2">Date:   Mon Jan 14 15:07:09 2019 +0200</font><br><br><font size="2">    ARM: configs: add defconfig for Nuvoton NPCM7xx BMC</font><br><br><font size="2">    OpenBMC-Staging-Count: 9</font><br><font size="2">    Signed-off-by: Tomer Maimon <tmaimon77@gmail.com></font><br><font size="2">    Signed-off-by: Joel Stanley <joel@jms.id.au></font></ul><br><font size="2">This shows the modified file:</font><ul><font size="2">bam@latitude-e5430:~/my_git/openbmc/openbmc/build/witherspoon-tacoma/workspace/sources/linux-aspeed$ git status</font><br><font size="2">On branch devtool</font><br><font size="2">Changes not staged for commit:</font><br><font size="2">  (use "git add <file>..." to update what will be committed)</font><br><font size="2">  (use "git checkout -- <file>..." to discard changes in working directory)</font><br><br><font size="2">        modified:   arch/arm/mach-aspeed/platsmp.c</font><br></ul><font size="2">This shows the git diff arch/arm/mach-aspeed/platsmp.c</font><ul><font size="2">bam@latitude-e5430:~/my_git/openbmc/openbmc/build/witherspoon-tacoma/workspace/sources/linux-aspeed$ git diff</font><br><font size="2">diff --git a/arch/arm/mach-aspeed/platsmp.c b/arch/arm/mach-aspeed/platsmp.c</font><br><font size="2">index 2324becf7991..d004fef81e6f 100644</font><br><font size="2">--- a/arch/arm/mach-aspeed/platsmp.c</font><br><font size="2">+++ b/arch/arm/mach-aspeed/platsmp.c</font><br><font size="2">@@ -7,11 +7,32 @@</font><br><font size="2"> #include <linux/of.h></font><br><font size="2"> #include <linux/smp.h></font><br><br><font size="2">+#include <linux/errno.h></font><br><font size="2">+#include <linux/jiffies.h></font><br><font size="2">+#include <asm/cacheflush.h></font><br><font size="2">+#include <asm/cp15.h></font><br><font size="2">+#include <asm/proc-fns.h></font><br><font size="2">+</font><br><font size="2"> #define BOOT_ADDR      0x00</font><br><font size="2"> #define BOOT_SIG       0x04</font><br><br><font size="2"> static struct device_node *secboot_node;</font><br><br><font size="2">+static void aspeed_g6_cpu_die(unsigned int cpu)</font><br><font size="2">+{</font><br><font size="2">+       v7_exit_coherency_flush(louis);</font><br><font size="2">+</font><br><font size="2">+       while (1) {</font><br><font size="2">+               cpu_do_idle();</font><br><font size="2">+       }</font><br><font size="2">+}</font><br><font size="2">+</font><br><font size="2">+static int aspeed_g6_cpu_kill(unsigned int cpu)</font><br><font size="2">+{</font><br><font size="2">+</font><br><font size="2">+       return 1;</font><br><font size="2">+}</font><br><font size="2">+</font><br><font size="2"> static int aspeed_g6_boot_secondary(unsigned int cpu, struct task_struct *idle)</font><br><font size="2"> {</font><br><font size="2">        void __iomem *base;</font><br><font size="2">@@ -56,6 +77,10 @@ static void __init aspeed_g6_smp_prepare_cpus(unsigned int max_cpus)</font><br><font size="2"> static const struct smp_operations aspeed_smp_ops __initconst = {</font><br><font size="2">        .smp_prepare_cpus       = aspeed_g6_smp_prepare_cpus,</font><br><font size="2">        .smp_boot_secondary     = aspeed_g6_boot_secondary,</font><br><font size="2">+#ifdef CONFIG_HOTPLUG_CPU</font><br><font size="2">+       .cpu_die                = aspeed_g6_cpu_die,</font><br><font size="2">+       .cpu_kill               = aspeed_g6_cpu_kill,</font><br><font size="2">+#endif</font><br><font size="2"> };</font><br><br><font size="2"> CPU_METHOD_OF_DECLARE(aspeed_smp, "aspeed,ast2600-smp", &aspeed_smp_ops);</font><br><font size="2">bam@latitude-e5430:~/my_git/openbmc/openbmc/build/witherspoon-tacoma/workspace/sources/linux-aspeed$</font></ul><br><font size="2">Thank you.</font><br><br><font size="2">-- </font><br><font size="2">Bruce</font><br><BR>
</body></html>