Revision 0fbc2074
b/kvm-all.c | ||
---|---|---|
1016 | 1016 |
} |
1017 | 1017 |
n = s->irq_routes->nr++; |
1018 | 1018 |
new = &s->irq_routes->entries[n]; |
1019 |
memset(new, 0, sizeof(*new)); |
|
1020 |
new->gsi = entry->gsi; |
|
1021 |
new->type = entry->type; |
|
1022 |
new->flags = entry->flags; |
|
1023 |
new->u = entry->u; |
|
1019 |
|
|
1020 |
*new = *entry; |
|
1024 | 1021 |
|
1025 | 1022 |
set_gsi(s, entry->gsi); |
1026 | 1023 |
} |
... | ... | |
1037 | 1034 |
continue; |
1038 | 1035 |
} |
1039 | 1036 |
|
1040 |
entry->type = new_entry->type; |
|
1041 |
entry->flags = new_entry->flags; |
|
1042 |
entry->u = new_entry->u; |
|
1037 |
*entry = *new_entry; |
|
1043 | 1038 |
|
1044 | 1039 |
kvm_irqchip_commit_routes(s); |
1045 | 1040 |
|
... | ... | |
1051 | 1046 |
|
1052 | 1047 |
void kvm_irqchip_add_irq_route(KVMState *s, int irq, int irqchip, int pin) |
1053 | 1048 |
{ |
1054 |
struct kvm_irq_routing_entry e; |
|
1049 |
struct kvm_irq_routing_entry e = {};
|
|
1055 | 1050 |
|
1056 | 1051 |
assert(pin < s->gsi_count); |
1057 | 1052 |
|
... | ... | |
1164 | 1159 |
return virq; |
1165 | 1160 |
} |
1166 | 1161 |
|
1167 |
route = g_malloc(sizeof(KVMMSIRoute)); |
|
1162 |
route = g_malloc0(sizeof(KVMMSIRoute));
|
|
1168 | 1163 |
route->kroute.gsi = virq; |
1169 | 1164 |
route->kroute.type = KVM_IRQ_ROUTING_MSI; |
1170 | 1165 |
route->kroute.flags = 0; |
... | ... | |
1186 | 1181 |
|
1187 | 1182 |
int kvm_irqchip_add_msi_route(KVMState *s, MSIMessage msg) |
1188 | 1183 |
{ |
1189 |
struct kvm_irq_routing_entry kroute; |
|
1184 |
struct kvm_irq_routing_entry kroute = {};
|
|
1190 | 1185 |
int virq; |
1191 | 1186 |
|
1192 | 1187 |
if (!kvm_gsi_routing_enabled()) { |
... | ... | |
1213 | 1208 |
|
1214 | 1209 |
int kvm_irqchip_update_msi_route(KVMState *s, int virq, MSIMessage msg) |
1215 | 1210 |
{ |
1216 |
struct kvm_irq_routing_entry kroute; |
|
1211 |
struct kvm_irq_routing_entry kroute = {};
|
|
1217 | 1212 |
|
1218 | 1213 |
if (!kvm_irqchip_in_kernel()) { |
1219 | 1214 |
return -ENOSYS; |
Also available in: Unified diff