@@ -111,6 +111,10 @@ pub struct MachineConfig {
111
111
/// Configures what page size Firecracker should use to back guest memory.
112
112
#[ serde( default ) ]
113
113
pub huge_pages : HugePageConfig ,
114
+ /// GDB socket address.
115
+ #[ cfg( feature = "gdb" ) ]
116
+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
117
+ pub gdb_socket_path : Option < String > ,
114
118
}
115
119
116
120
impl Default for MachineConfig {
@@ -146,6 +150,10 @@ pub struct MachineConfigUpdate {
146
150
/// Configures what page size Firecracker should use to back guest memory.
147
151
#[ serde( default , skip_serializing_if = "Option::is_none" ) ]
148
152
pub huge_pages : Option < HugePageConfig > ,
153
+ /// GDB socket address.
154
+ #[ cfg( feature = "gdb" ) ]
155
+ #[ serde( default , skip_serializing_if = "Option::is_none" ) ]
156
+ pub gdb_socket_path : Option < String > ,
149
157
}
150
158
151
159
impl MachineConfigUpdate {
@@ -166,6 +174,8 @@ impl From<MachineConfig> for MachineConfigUpdate {
166
174
cpu_template : cfg. cpu_template ,
167
175
track_dirty_pages : Some ( cfg. track_dirty_pages ) ,
168
176
huge_pages : Some ( cfg. huge_pages ) ,
177
+ #[ cfg( feature = "gdb" ) ]
178
+ gdb_socket_path : cfg. gdb_socket_path ,
169
179
}
170
180
}
171
181
}
@@ -185,6 +195,9 @@ pub struct VmConfig {
185
195
pub track_dirty_pages : bool ,
186
196
/// Configures what page size Firecracker should use to back guest memory.
187
197
pub huge_pages : HugePageConfig ,
198
+ /// GDB socket address.
199
+ #[ cfg( feature = "gdb" ) ]
200
+ pub gdb_socket_path : Option < String > ,
188
201
}
189
202
190
203
impl VmConfig {
@@ -238,6 +251,8 @@ impl VmConfig {
238
251
cpu_template,
239
252
track_dirty_pages : update. track_dirty_pages . unwrap_or ( self . track_dirty_pages ) ,
240
253
huge_pages : page_config,
254
+ #[ cfg( feature = "gdb" ) ]
255
+ gdb_socket_path : update. gdb_socket_path . clone ( ) ,
241
256
} )
242
257
}
243
258
}
@@ -251,6 +266,8 @@ impl Default for VmConfig {
251
266
cpu_template : None ,
252
267
track_dirty_pages : false ,
253
268
huge_pages : HugePageConfig :: None ,
269
+ #[ cfg( feature = "gdb" ) ]
270
+ gdb_socket_path : None ,
254
271
}
255
272
}
256
273
}
@@ -264,6 +281,8 @@ impl From<&VmConfig> for MachineConfig {
264
281
cpu_template : value. cpu_template . as_ref ( ) . map ( |template| template. into ( ) ) ,
265
282
track_dirty_pages : value. track_dirty_pages ,
266
283
huge_pages : value. huge_pages ,
284
+ #[ cfg( feature = "gdb" ) ]
285
+ gdb_socket_path : value. gdb_socket_path . clone ( ) ,
267
286
}
268
287
}
269
288
}
0 commit comments