Created attachment 168280 [details]
'outb' amd64 patch
'outb (port char --)', according to loader(8), writes a value to a port.
However, it only does so on the i386 platform (and possibly non-x86 platforms, but this is outside of the scope of this report), ihe 'outb' word is not recognised on amd64.
One would expect this would also work on amd64.
A patch is supplied which enables 'outb' on amd64 also. Note that after the patch is applied, i386/sysdep.c and amd64/sysdep.c have the same contents.
I'm unfamiliar with inb/outb, how might I use it for testing?
Its use was for me to be able to disable the discrete GPU at boot on my MacBook Pro with the following outb statements. However, since submitting this bug report I've changed laptops from the Apple to a Dell.
outb 0x728 1
outb 0x710 2
outb 0x740 2
outb 0x750 0
I don't know of any other use for outb in the bootloader and it's not at all required to be able to boot up a MacBook Pro, so its use is rather limited. More like a 'nice to have' since the man page mentions it, and on top of that, at the time I made the patch, the i386 and x86_64 sysdep.c files became identical when the patch was applied, allowing the possibility to have only one sysdep.c .