1 /*
2 * CXL Type 3 (memory expander) device QMP stubs
3 *
4 * Copyright(C) 2020 Intel Corporation.
5 *
6 * This work is licensed under the terms of the GNU GPL, version 2. See the
7 * COPYING file in the top-level directory.
8 *
9 * SPDX-License-Identifier: GPL-v2-only
10 */
11
12 #include "qemu/osdep.h"
13 #include "qapi/error.h"
14 #include "qapi/qapi-commands-cxl.h"
15
qmp_cxl_inject_general_media_event(const char * path,CxlEventLog log,uint8_t flags,uint64_t dpa,uint8_t descriptor,uint8_t type,uint8_t transaction_type,bool has_channel,uint8_t channel,bool has_rank,uint8_t rank,bool has_device,uint32_t device,const char * component_id,Error ** errp)16 void qmp_cxl_inject_general_media_event(const char *path, CxlEventLog log,
17 uint8_t flags, uint64_t dpa,
18 uint8_t descriptor, uint8_t type,
19 uint8_t transaction_type,
20 bool has_channel, uint8_t channel,
21 bool has_rank, uint8_t rank,
22 bool has_device, uint32_t device,
23 const char *component_id,
24 Error **errp) {}
25
qmp_cxl_inject_dram_event(const char * path,CxlEventLog log,uint8_t flags,uint64_t dpa,uint8_t descriptor,uint8_t type,uint8_t transaction_type,bool has_channel,uint8_t channel,bool has_rank,uint8_t rank,bool has_nibble_mask,uint32_t nibble_mask,bool has_bank_group,uint8_t bank_group,bool has_bank,uint8_t bank,bool has_row,uint32_t row,bool has_column,uint16_t column,bool has_correction_mask,uint64List * correction_mask,Error ** errp)26 void qmp_cxl_inject_dram_event(const char *path, CxlEventLog log, uint8_t flags,
27 uint64_t dpa, uint8_t descriptor,
28 uint8_t type, uint8_t transaction_type,
29 bool has_channel, uint8_t channel,
30 bool has_rank, uint8_t rank,
31 bool has_nibble_mask, uint32_t nibble_mask,
32 bool has_bank_group, uint8_t bank_group,
33 bool has_bank, uint8_t bank,
34 bool has_row, uint32_t row,
35 bool has_column, uint16_t column,
36 bool has_correction_mask,
37 uint64List *correction_mask,
38 Error **errp) {}
39
qmp_cxl_inject_memory_module_event(const char * path,CxlEventLog log,uint8_t flags,uint8_t type,uint8_t health_status,uint8_t media_status,uint8_t additional_status,uint8_t life_used,int16_t temperature,uint32_t dirty_shutdown_count,uint32_t corrected_volatile_error_count,uint32_t corrected_persist_error_count,Error ** errp)40 void qmp_cxl_inject_memory_module_event(const char *path, CxlEventLog log,
41 uint8_t flags, uint8_t type,
42 uint8_t health_status,
43 uint8_t media_status,
44 uint8_t additional_status,
45 uint8_t life_used,
46 int16_t temperature,
47 uint32_t dirty_shutdown_count,
48 uint32_t corrected_volatile_error_count,
49 uint32_t corrected_persist_error_count,
50 Error **errp) {}
51
qmp_cxl_inject_poison(const char * path,uint64_t start,uint64_t length,Error ** errp)52 void qmp_cxl_inject_poison(const char *path, uint64_t start, uint64_t length,
53 Error **errp)
54 {
55 error_setg(errp, "CXL Type 3 support is not compiled in");
56 }
57
qmp_cxl_inject_uncorrectable_errors(const char * path,CXLUncorErrorRecordList * errors,Error ** errp)58 void qmp_cxl_inject_uncorrectable_errors(const char *path,
59 CXLUncorErrorRecordList *errors,
60 Error **errp)
61 {
62 error_setg(errp, "CXL Type 3 support is not compiled in");
63 }
64
qmp_cxl_inject_correctable_error(const char * path,CxlCorErrorType type,Error ** errp)65 void qmp_cxl_inject_correctable_error(const char *path, CxlCorErrorType type,
66 Error **errp)
67 {
68 error_setg(errp, "CXL Type 3 support is not compiled in");
69 }
70
qmp_cxl_add_dynamic_capacity(const char * path,uint16_t host_id,CxlExtentSelectionPolicy sel_policy,uint8_t region,const char * tag,CxlDynamicCapacityExtentList * extents,Error ** errp)71 void qmp_cxl_add_dynamic_capacity(const char *path,
72 uint16_t host_id,
73 CxlExtentSelectionPolicy sel_policy,
74 uint8_t region,
75 const char *tag,
76 CxlDynamicCapacityExtentList *extents,
77 Error **errp)
78 {
79 error_setg(errp, "CXL Type 3 support is not compiled in");
80 }
81
qmp_cxl_release_dynamic_capacity(const char * path,uint16_t host_id,CxlExtentRemovalPolicy removal_policy,bool has_forced_removal,bool forced_removal,bool has_sanitize_on_release,bool sanitize_on_release,uint8_t region,const char * tag,CxlDynamicCapacityExtentList * extents,Error ** errp)82 void qmp_cxl_release_dynamic_capacity(const char *path, uint16_t host_id,
83 CxlExtentRemovalPolicy removal_policy,
84 bool has_forced_removal,
85 bool forced_removal,
86 bool has_sanitize_on_release,
87 bool sanitize_on_release,
88 uint8_t region,
89 const char *tag,
90 CxlDynamicCapacityExtentList *extents,
91 Error **errp)
92 {
93 error_setg(errp, "CXL Type 3 support is not compiled in");
94 }
95