And what are the rules that govern device exclusion from -nodefaults list? Why -nodefaults does not create empty machine?
"qemu -nodefaults" should give you just cpu + northbridge + southbridge.
"qemu" should give you a usable virtual machine, so qemu adds some optional devices which are (or used to be) standard in a pc: floppy, cdrom, serial port, parallel port, vga card, nic.
Sometimes things are a bit odd for historical reasons:
USB controllers are only present in case you ask for them via '-usb' or add them via '-device', even though they are part of the southbridge.
vmport is there unconditionally. And I'd rather make that one configurable instead of adding more hard-coded devices.