add vio_port_3 and vio_port_4
add vio_port_3 and vio_port_4
lots of cleanup and refinement
fix testhal/EXT compile