The function name here is a bit confusing.  Since this can be called after vmi_init or after vmi_init_custom, but the name vmi_init_complete_custom makes it sound like it only goes with vmi_init_custom.  Perhaps we should call this vmi_init_complete (like before) or vmi_init_finish or ??