hw/ipmi/ipmi_extern.h | 1 + include/hw/arm/aspeed_soc.h | 2 + include/hw/ipmi/aspeed_ibt.h | 77 +++++++++ hw/arm/aspeed_ast2600.c | 12 ++ hw/arm/aspeed_soc.c | 12 ++ hw/ipmi/aspeed_ibt.c | 311 +++++++++++++++++++++++++++++++++++ hw/ipmi/meson.build | 1 + hw/ipmi/trace-events | 7 + 8 files changed, 423 insertions(+) create mode 100644 include/hw/ipmi/aspeed_ibt.h create mode 100644 hw/ipmi/aspeed_ibt.c
This patch follows the Handing IPMI for emulating BMC patch set by Hao Wu.
Building on top of the work in [PATCH] hw/misc: Add an iBT device model posted
by Cédric Le Goater, this iBT model works as a backend to ipmi-host-extern.
Needed to run:
- [PATCH 4/8] hw/ipmi: Refactor IPMI interface, Hao Wu
- [PATCH 5/8] hw/ipmi: Take out common from ipmi_bmc_extern.c, Hao Wu
- [PATCH 6/8] hw/ipmi: Move handle_command to IPMICoreClass, Hao Wu
- [PATCH 7/8] hw/ipmi: Add an IPMI external host device, Hao Wu
Host commandline
-chardev socket,id=ipmichr1,host=localhost,port=9999,reconnect=10 \
-device ipmi-bmc-extern,chardev=ipmichr1,id=bmc0 \
-device isa-ipmi-bt,bmc=bmc0,irq=10 -nodefaults
BMC commandline
-chardev socket,id=ipmichr1,host=localhost,port=9999,server=on,wait=off \
-device "ipmi-host-extern,chardev=ipmichr1,responder=/machine/soc/ibt"
Currently, IRQs are not functional, but it is able to connect.
The following printout is from the host:
[ 6.869742] ipmi_si IPI0001:00: IPMI message handler: Found new BMC (man_id:
0x002b79, prod_id: 0x0000, dev_id: 0x00)
[ 12.393281] ipmi_si IPI0001:00: IPMI bt interface initialized
This patch is an RFC because of the missing IRQs and the need for other patches
to get merged.
Thank you all.
Titus Rwantare (1):
hw/ipmi: add an aspeed ipmi iBT device model
hw/ipmi/ipmi_extern.h | 1 +
include/hw/arm/aspeed_soc.h | 2 +
include/hw/ipmi/aspeed_ibt.h | 77 +++++++++
hw/arm/aspeed_ast2600.c | 12 ++
hw/arm/aspeed_soc.c | 12 ++
hw/ipmi/aspeed_ibt.c | 311 +++++++++++++++++++++++++++++++++++
hw/ipmi/meson.build | 1 +
hw/ipmi/trace-events | 7 +
8 files changed, 423 insertions(+)
create mode 100644 include/hw/ipmi/aspeed_ibt.h
create mode 100644 hw/ipmi/aspeed_ibt.c
--
2.33.0.800.g4c38ced690-goog
Hello Titus, On 9/29/21 00:39, Titus Rwantare wrote: > This patch follows the Handing IPMI for emulating BMC patch set by Hao Wu. > Building on top of the work in [PATCH] hw/misc: Add an iBT device model posted > by Cédric Le Goater, this iBT model works as a backend to ipmi-host-extern. Could you please resend with my patch which is still available here : https://github.com/legoater/qemu/commit/c6b679690f32534e8992d96752d90d2c4aa48130 or here : http://patchwork.ozlabs.org/project/qemu-devel/patch/20210407171637.777743-20-clg@kaod.org/ and in another patch, the modifications you made on top of mine. That will help understand where the problem could be. You can modify patches but you need to keep the original author name, commit log, signed-off-by to certify its origin. Then list the changes you have made and add your signed-off-by. The patch you sent seems to be mostly mine and I don't see any of the above. Here is some more info in the kernel documentation : https://www.kernel.org/doc/html/v4.12/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin I don't think we have the same kind of documentation in QEMU but it's the same process. > Needed to run: > - [PATCH 4/8] hw/ipmi: Refactor IPMI interface, Hao Wu > - [PATCH 5/8] hw/ipmi: Take out common from ipmi_bmc_extern.c, Hao Wu > - [PATCH 6/8] hw/ipmi: Move handle_command to IPMICoreClass, Hao Wu > - [PATCH 7/8] hw/ipmi: Add an IPMI external host device, Hao Wu I have no idea what these patches do and where they are. They seem to modify the core IPMI framework and it is important to understand the overall changes. Please include them in the patchset first since they are initial requirements. > Host commandline > -chardev socket,id=ipmichr1,host=localhost,port=9999,reconnect=10 \ > -device ipmi-bmc-extern,chardev=ipmichr1,id=bmc0 \ > -device isa-ipmi-bt,bmc=bmc0,irq=10 -nodefaults > > BMC commandline > -chardev socket,id=ipmichr1,host=localhost,port=9999,server=on,wait=off \ > -device "ipmi-host-extern,chardev=ipmichr1,responder=/machine/soc/ibt" Could we have the full command lines also ? > Currently, IRQs are not functional, but it is able to connect. > The following printout is from the host: > > [ 6.869742] ipmi_si IPI0001:00: IPMI message handler: Found new BMC (man_id: > 0x002b79, prod_id: 0x0000, dev_id: 0x00) > [ 12.393281] ipmi_si IPI0001:00: IPMI bt interface initialized > > This patch is an RFC because of the missing IRQs and the need for other patches > to get merged. We will need the whole project to start reviewing. Thanks, C. > > Thank you all. > > Titus Rwantare (1): > hw/ipmi: add an aspeed ipmi iBT device model > > hw/ipmi/ipmi_extern.h | 1 + > include/hw/arm/aspeed_soc.h | 2 + > include/hw/ipmi/aspeed_ibt.h | 77 +++++++++ > hw/arm/aspeed_ast2600.c | 12 ++ > hw/arm/aspeed_soc.c | 12 ++ > hw/ipmi/aspeed_ibt.c | 311 +++++++++++++++++++++++++++++++++++ > hw/ipmi/meson.build | 1 + > hw/ipmi/trace-events | 7 + > 8 files changed, 423 insertions(+) > create mode 100644 include/hw/ipmi/aspeed_ibt.h > create mode 100644 hw/ipmi/aspeed_ibt.c >
On Tue, 28 Sept 2021 at 23:24, Cédric Le Goater <clg@kaod.org> wrote: > > Hello Titus, > > On 9/29/21 00:39, Titus Rwantare wrote: > > This patch follows the Handing IPMI for emulating BMC patch set by Hao Wu. > > Building on top of the work in [PATCH] hw/misc: Add an iBT device model posted > > by Cédric Le Goater, this iBT model works as a backend to ipmi-host-extern. > > Could you please resend with my patch which is still available here : > > https://github.com/legoater/qemu/commit/c6b679690f32534e8992d96752d90d2c4aa48130 > > or here : > > http://patchwork.ozlabs.org/project/qemu-devel/patch/20210407171637.777743-20-clg@kaod.org/ > > and in another patch, the modifications you made on top of mine. That > will help understand where the problem could be. > > You can modify patches but you need to keep the original author name, > commit log, signed-off-by to certify its origin. Then list the changes > you have made and add your signed-off-by. > > The patch you sent seems to be mostly mine and I don't see any of the > above. > > Here is some more info in the kernel documentation : > > https://www.kernel.org/doc/html/v4.12/process/submitting-patches.html#sign-your-work-the-developer-s-certificate-of-origin > > I don't think we have the same kind of documentation in QEMU but it's > the same process. Thanks, I'm still learning. > > > Needed to run: > > - [PATCH 4/8] hw/ipmi: Refactor IPMI interface, Hao Wu > > - [PATCH 5/8] hw/ipmi: Take out common from ipmi_bmc_extern.c, Hao Wu > > - [PATCH 6/8] hw/ipmi: Move handle_command to IPMICoreClass, Hao Wu > > - [PATCH 7/8] hw/ipmi: Add an IPMI external host device, Hao Wu > > I have no idea what these patches do and where they are. They seem to > modify the core IPMI framework and it is important to understand the > overall changes. Please include them in the patchset first since they > are initial requirements. > I've pushed everything here: https://github.com/Rwantare/qemu/tree/aspeed-ibt The other patches are out for review and will likely change before merging > > Host commandline > > -chardev socket,id=ipmichr1,host=localhost,port=9999,reconnect=10 \ > > -device ipmi-bmc-extern,chardev=ipmichr1,id=bmc0 \ > > -device isa-ipmi-bt,bmc=bmc0,irq=10 -nodefaults > > > > BMC commandline > > -chardev socket,id=ipmichr1,host=localhost,port=9999,server=on,wait=off \ > > -device "ipmi-host-extern,chardev=ipmichr1,responder=/machine/soc/ibt" > > Could we have the full command lines also ? > Sure, there's not much else there, one of the bmc firmwares I'm testing with is a quanta-q71l-bmc which should build from OpenBMC. Host: qemu-system-x86_64 \ -nographic -m 4G \ -kernel arch/x86/boot/bzImage -append "console=ttyS0 earlyprintk=ttyS0" \ -serial /dev/tty -monitor /dev/pts/9 -initrd u-root.cpio \ -chardev socket,id=ipmichr0,host=localhost,port=9999,reconnect=10 \ -device ipmi-bmc-extern,chardev=ipmichr0,id=bmc0 \ -device isa-ipmi-bt,bmc=bmc0,irq=10 -nodefaults BMC: qemu-system-arm \ -machine quanta-q71l-bmc \ -nographic \ -drive file=path/to/openbmc/image,if=mtd,bus=0,unit=0,snapshot=on \ -chardev socket,id=ipmichr1,host=localhost,port=9999,server=on,wait=off \ -device "ipmi-host-extern,chardev=ipmichr1,responder=/machine/soc/ibt" > > > Currently, IRQs are not functional, but it is able to connect. > > The following printout is from the host: > > > > [ 6.869742] ipmi_si IPI0001:00: IPMI message handler: Found new BMC (man_id: > > 0x002b79, prod_id: 0x0000, dev_id: 0x00) > > [ 12.393281] ipmi_si IPI0001:00: IPMI bt interface initialized > > > > This patch is an RFC because of the missing IRQs and the need for other patches > > to get merged. > > We will need the whole project to start reviewing. > > Thanks, > > C. Noted, I think I should be able to send the BT commits from https://github.com/Rwantare/qemu/tree/aspeed-ibt after the others are reviewed and merged. For now, the irq setup is my point of confusion. Thanks, -Titus
© 2016 - 2026 Red Hat, Inc.