One of the hard_reset() functions are wrong. The two files don't agree: src/mainboard/tyan/s2895/auto.c src/southbridge/nvidia/ck804/ck804_reset.c
I think auto.c is correct, but I'd suggest changing it to:
static void hard_reset(void) { set_bios_reset();
pci_write_config32(PCI_DEV(1, CK804_DEVN_BASE + 0x1, 0), 0xe8, 0x0);
/* hard reset */ outb(0x0a, 0x0cf9); outb(0x0e, 0x0cf9);
L1: goto L1; /* loop till reset */ }