--------------------------------------------------------------------------
-- Copyright (c) 2007-2013, ETH Zurich.
-- All rights reserved.
--
-- This file is distributed under the terms in the attached LICENSE file.
-- If you do not find this file, copies can be found by writing to:
-- ETH Zurich D-INFK, Universitaetstrasse 6, CH-8092 Zurich. Attn: Systems Group.
--
-- Hakefile for devices/
--
--------------------------------------------------------------------------

-- Mackerel 2 device descriptions
--
-- THIS is the place for new device descriptions.
--
[ mackerel2 (options arch) f
  | f <- [ "ac97_base_audio",
           "ac97_ext_audio",
           "armv8",
           "cpuid_intel",
           "cpuid_amd",
           "cpuid_arm",
           "ac97_ext_codec",
           "ac97_ext_modem",
           "ahci_hba",
           "ahci_port",
           "acpi_ec",
           "acpi_ec_mem",
           "arm",
           "ata_identify",
           "audio_nbm",
           "e1000",
           "e1000e",
           "e10k",
           "e10k_vf",
           "e10k_q",
           "ehci",
           "fat16_ebpb",
           "fat32_ebpb",
           "fat_bpb",
           "fat_direntry",
           "fat_long_direntry",
           "gic_v3_dist",
           "gic_v3_redist",
           "gic_v2_cpu",
           "hpet",
           "ia32",
           "ixp2800_icp_pic0",
           "ixp2800_icp_pit",
           "ixp2800_uart",
           "lpc_bridge",
           "lpc_dma",
           "lpc_kbd",
           "lpc_pic",
           "lpc_pci_config",
           "lpc_rtc",
           "lpc_rtc_spaces",
           "msix",
           "msix_e1000",
           "ohci",
           "pc16550d",
           "rtl8029as",
           "tulip",
           "uhci",
           "xapic",
           "x2apic",
           "amd64",
           "pl390_gic_dist",
           "pl390_gic_cpuif",
           "pl011_uart",
           "lpuart",
           "rpi3_miniuart",
           "sp804_pit",
           "cortex_a9_pit",
           "cortex_a9_gt",
           "cortex_a9_scu",
           "ti_i2c",
           "ti_twl6030",
           "sdhc",
           "apm88xxxx/apm88xxxx_pc16550",
           "armv8/armv8_cache_ctrl",
           "imx8x/imx8x_gpio",
           "imx8x/enet",
           "imx8x/sdhc",
           "omap/ehci",
           "omap/ohci",
           "omap/omap_uart",
           "omap/omap44xx_boot",
           "omap/omap44xx_cam_cm2",
           "omap/omap44xx_cam_prm",
           "omap/omap44xx_ckgen_cm1",
           "omap/omap44xx_ckgen_cm2",
           "omap/omap44xx_ckgen_prm",
           "omap/omap44xx_cortexa9_wugen",
           "omap/omap44xx_cortex_m3_nvic",
           "omap/omap44xx_ctrlmod",
           "omap/omap44xx_device_prm",
           "omap/omap44xx_ehci",
           "omap/omap44xx_emif",
           "omap/omap44xx_fdif",
           "omap/omap44xx_gpio",
           "omap/omap44xx_hsusbhost",
           "omap/omap44xx_id",
           "omap/omap44xx_l3init_cm2",
           "omap/omap44xx_l4per_cm2",
           "omap/omap44xx_mmchs",
           "omap/omap44xx_mmchs1",
           "omap/omap44xx_mmu",
           "omap/omap44xx_scrm",
           "omap/omap44xx_sdma",
           "omap/omap44xx_spinlock",
           "omap/omap44xx_sysctrl_padconf_core",
           "omap/omap44xx_sysctrl_padconf_wkup",
           "omap/omap44xx_usbconf",
           "omap/omap44xx_usbtllhs_config",
           "omap/omap44xx_uart3",
           "virtio/virtio_blk",
           "virtio/virtio_mmio",
           "virtio/virtio_pci",
           "virtio/virtio_io",
           "xeon_phi/xeon_phi_serial",
           "xeon_phi/xeon_phi_boot",
           "xeon_phi/xeon_phi_apic",
           "xeon_phi/xeon_phi_smpt",
           "xeon_phi/xeon_phi_irq",
           "xeon_phi/xeon_phi_dma",
           "xeon_phi/xeon_phi_dma_chan",
           "ioat_dma",
           "ioat_dma_chan",
           "pci_sr_iov_cap",
           "pci_msix_cap",
           "pci_e1000_msix_cap",
           "megaraid",
           "vtd",
           "zynq7/zynq_uart",
           "zynq7/zynq_slcr",
           "sfn5122f",
           "sfn5122f_q"
         ], arch <- allArchitectures
] ++

-- Mackerel 1 device descriptions
--
-- DO NOT add new devices to this list - the interface is non-portable
-- and liable to break with new C compiler versions!
--
[ mackerel (options arch) f
  | f <- [ "amd_vmcb",
           "arm_icp_pic0",
           "arm_icp_pit",
           "cpuid",
           "ht_config",
           "lpc_ioapic",
           "lpc_timer",
           "pc16550d_mem",
           "pci_hdr0",
           "pci_hdr0_mem",
           "pci_hdr1"
         ], arch <- allArchitectures
]
