Exemple #1
0
def generate_file(config):
    """
    Get PCI device and generate pci_devices.h
    :param config: it is a file pointer of pci information for writing to
    """

    # write the license into pci
    print("{0}".format(board_cfg_lib.HEADER_LICENSE), file=config)

    # add bios and base board info
    board_cfg_lib.handle_bios_info(config)

    # write the header into pci
    print("{0}".format(PCI_HEADER), file=config)

    (pci_dev_dic, pci_bar_dic, sub_name_count) = parser_pci()

    compared_bdf = []
    for cnt_sub_name in sub_name_count.keys():
        i_cnt = 0
        for bdf, subname in pci_dev_dic.items():
            if cnt_sub_name == subname and bdf not in compared_bdf:
                compared_bdf.append(bdf)
            else:
                continue

            write_pbdf(i_cnt, bdf, subname, config)
            write_vbar(bdf, pci_bar_dic, config)

            i_cnt += 1

    # write the end to the pci devices
    print("{0}".format(PCI_END_HEADER), file=config)
def generate_file(config):
    """
    Start to generate board.c
    :param config: it is a file pointer of board information for writing to
    """
    err_dic = {}
    print("{0}".format(board_cfg_lib.HEADER_LICENSE), file=config)

    # insert bios info into board.c
    board_cfg_lib.handle_bios_info(config)
    print(INCLUDE_HEADER, file=config)

    # start to parse DMAR info
    gen_dmar_structure(config)

    # start to parse RDT resource info
    err_dic = gen_rdt_res(config)
    if err_dic:
        return err_dic

    # start to parse PX/CX info
    gen_px_cx(config)

    # gen hide pci info for platform
    gen_pci_hide(config)

    # gen known caps of pci dev info for platform
    gen_known_caps_pci_devs(config)

    return err_dic
Exemple #3
0
def generate_file(config):
    """
    Get PCI device and generate pci_devices.h
    :param config: it is a file pointer of pci information for writing to
    """
    # write the license into pci
    print("{0}".format(board_cfg_lib.HEADER_LICENSE), file=config)

    # add bios and base board info
    board_cfg_lib.handle_bios_info(config)

    # write the header into pci
    print("{0}".format(PCI_HEADER), file=config)

    board_cfg_lib.parser_pci()

    compared_bdf = []
    for cnt_sub_name in board_cfg_lib.SUB_NAME_COUNT.keys():
        i_cnt = 0
        for bdf, bar_attr in board_cfg_lib.PCI_DEV_BAR_DESC.pci_dev_dic.items(
        ):
            if cnt_sub_name == bar_attr.name and bdf not in compared_bdf:
                compared_bdf.append(bdf)
            else:
                continue

            print("", file=config)
            write_pbdf(i_cnt, bdf, bar_attr, config)

            i_cnt += 1

    # write the end to the pci devices
    print("{0}".format(PCI_END_HEADER), file=config)
Exemple #4
0
def generate_file(config, default_platform):
    """write board_name_acpi_info.h"""
    print("{}".format(board_cfg_lib.HEADER_LICENSE), file=config)

    print("{}".format(PLATFORM_HEADER), file=config)

    board_cfg_lib.handle_bios_info(config)
    # parser for the platform info
    platform_info_parser(config, default_platform)

    print("{}".format(PLATFORM_END_HEADER), file=config)
Exemple #5
0
def generate_file(config):
    """Start to generate board.c"""
    print("{0}".format(board_cfg_lib.HEADER_LICENSE), file=config)

    # insert bios info into board.c
    board_cfg_lib.handle_bios_info(config)

    # start to parser to get CAT info
    gen_cat(config)

    # start to parser PX/CX info
    gen_px_cx(config)
def generate_file(config):
    """
    Get PCI device and generate pci_devices.h
    :param config: it is a file pointer of pci information for writing to
    """
    # write the license into pci
    print("{0}".format(board_cfg_lib.HEADER_LICENSE), file=config)

    # add bios and base board info
    board_cfg_lib.handle_bios_info(config)

    # write the header into pci
    print("{0}".format(PCI_HEADER), file=config)

    board_cfg_lib.parser_pci()

    compared_bdf = []
    for cnt_sub_name in board_cfg_lib.SUB_NAME_COUNT.keys():
        i_cnt = 0
        for bdf, bar_attr in board_cfg_lib.PCI_DEV_BAR_DESC.pci_dev_dic.items(
        ):
            if cnt_sub_name == bar_attr.name and bdf not in compared_bdf:
                compared_bdf.append(bdf)
            else:
                continue

            print("", file=config)
            write_pbdf(i_cnt, bdf, bar_attr, config)

            i_cnt += 1

    ivshmem_enabled = common.get_hv_item_tag(common.SCENARIO_INFO_FILE,
                                             "FEATURES", "IVSHMEM",
                                             "IVSHMEM_ENABLED")
    raw_shmem_regions = common.get_hv_item_tag(common.SCENARIO_INFO_FILE,
                                               "FEATURES", "IVSHMEM",
                                               "IVSHMEM_REGION")
    if ivshmem_enabled == 'y':
        shmem_cnt = 0
        for raw_shmem_region in raw_shmem_regions:
            if raw_shmem_region and raw_shmem_region.strip != '':
                name = raw_shmem_region.split(',')[0].strip()
                print("", file=config)
                print("#define IVSHMEM_SHM_REGION_%-21d" % shmem_cnt,
                      end="",
                      file=config)
                print('"{}"'.format(name), file=config)
                shmem_cnt += 1
    # write the end to the pci devices
    print("{0}".format(PCI_END_HEADER), file=config)
Exemple #7
0
def generate_file(config, default_platform):
    """
    write board_name_acpi_info.h
    :param config: it is a file pointer to write acpi information
    :param default_platform: it is the default_acpi_info.h in acrn-hypervisor
    """
    print("{}".format(board_cfg_lib.HEADER_LICENSE), file=config)

    print("{}".format(PLATFORM_HEADER), file=config)

    board_cfg_lib.handle_bios_info(config)
    # parse for the platform info
    platform_info_parser(config, default_platform)

    print("{}".format(PLATFORM_END_HEADER), file=config)
def generate_file(config):
    """
    Start to generate board.c
    :param config: it is a file pointer of board information for writing to
    """
    err_dic = {}
    print("{0}".format(board_cfg_lib.HEADER_LICENSE), file=config)

    # insert bios info into board.c
    board_cfg_lib.handle_bios_info(config)

    # start to parser to get CAT info
    err_dic = gen_cat(config)
    if err_dic:
        return err_dic

    # start to parser PX/CX info
    gen_px_cx(config)

    return err_dic
def generate_file(config):
    """
    Get PCI device and generate pci_devices.h
    :param config: it is a file pointer of pci information for writing to
    """
    # write the license into pci
    print("{0}".format(board_cfg_lib.HEADER_LICENSE), file=config)

    # add bios and base board info
    board_cfg_lib.handle_bios_info(config)

    # write the header into pci
    print("{0}".format(PCI_HEADER), file=config)

    sub_name_count = parser_pci()

    print("#define %-32s" % "PTDEV_HI_MMIO_SIZE",
          "       {}UL".format(hex(HI_MMIO_OFFSET)),
          file=config)

    compared_bdf = []
    for cnt_sub_name in sub_name_count.keys():
        i_cnt = 0
        for bdf, bar_attr in PCI_DEV_BAR_DESC.pci_dev_dic.items():
            if cnt_sub_name == bar_attr.name and bdf not in compared_bdf:
                compared_bdf.append(bdf)
            else:
                continue

            print("", file=config)
            write_pbdf(i_cnt, bdf, bar_attr, config)
            write_vbar(i_cnt, bdf, PCI_DEV_BAR_DESC.pci_bar_dic, bar_attr,
                       config)

            i_cnt += 1

    # write the end to the pci devices
    print("{0}".format(PCI_END_HEADER), file=config)