def METHOD_NAME(vm, test, start_pos=0, start_str=START_PATTERN,
                    end_str=END_PATTERN, timeout=300):
    """
    Wait for loading the SLOF.
    :param vm: VM object
    :param test: kvm test object
    :param start_pos: start position which start to read
    :type start_pos: int
    :param start_str: start string pattern
    :type start_str: int
    :param end_str: end string pattern
    :type end_str: str
    :param timeout: time out for waiting
    :type timeout: float
    :return: content list and next position of the end of the content if found
             the the whole SLOF contents, otherwise return None and the
             position of start string.
    :rtype: tuple(list, int)
    """
    file_timeout = 30
    if not utils_misc.wait_for(lambda: os.path.isfile(vm.serial_console_log),
                               file_timeout):
        test.error('No found serial log in %s sec.' % file_timeout)
    end_time = timeout + time.time()
    while time.time() < end_time:
        content, start_pos = get_boot_content(vm, start_pos, start_str, end_str)
        if content:
            LOG_JOB.info('Output of SLOF:\n%s', ''.join(content))
            return content, start_pos
    test.fail(
        'No found corresponding SLOF info in serial log during %s sec.' %
        timeout)