mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
hw/cxl/component: Implement host bridge MMIO (8.2.5, table 142)
CXL host bridges themselves may have MMIO. Since host bridges don't have a BAR they are treated as special for MMIO. This patch includes i386/pc support. Also hook up the device reset now that we have have the MMIO space in which the results are visible. Note that we duplicate the PCI express case for the aml_build but the implementations will diverge when the CXL specific _OSC is introduced. Signed-off-by: Ben Widawsky <ben.widawsky@intel.com> Co-developed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20220429144110.25167-24-Jonathan.Cameron@huawei.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
92fd46b68a
commit
6e4e3ae936
4 changed files with 122 additions and 10 deletions
|
@ -10,6 +10,7 @@
|
|||
#ifndef CXL_H
|
||||
#define CXL_H
|
||||
|
||||
#include "hw/pci/pci_host.h"
|
||||
#include "cxl_pci.h"
|
||||
#include "cxl_component.h"
|
||||
#include "cxl_device.h"
|
||||
|
@ -17,8 +18,21 @@
|
|||
#define CXL_COMPONENT_REG_BAR_IDX 0
|
||||
#define CXL_DEVICE_REG_BAR_IDX 2
|
||||
|
||||
#define CXL_WINDOW_MAX 10
|
||||
|
||||
typedef struct CXLState {
|
||||
bool is_enabled;
|
||||
MemoryRegion host_mr;
|
||||
unsigned int next_mr_idx;
|
||||
} CXLState;
|
||||
|
||||
struct CXLHost {
|
||||
PCIHostState parent_obj;
|
||||
|
||||
CXLComponentState cxl_cstate;
|
||||
};
|
||||
|
||||
#define TYPE_PXB_CXL_HOST "pxb-cxl-host"
|
||||
OBJECT_DECLARE_SIMPLE_TYPE(CXLHost, PXB_CXL_HOST)
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue