feat(wlan): DKM wlan driver framework + net connect/disconnect ABI extension

- wlan.drv: multi-vendor PCI probe (class 02:80; Intel AX2xx/Realtek/Atheros ath9k/Broadcom), registers wireless netdev when real hw present (attest net_wlan)
- scan/connect/disconnect: strict panic skeletons (NETWL-E10/E11/E12) until native chip backends (ath9k first, no fw blob) or linuxguest backend land
- net.h/dkm_shared.h: connect/disconnect appended to dkm_net_api + device_desc (ABI-compatible tail append); net.c dispatch with zero-degrade panic
- QEMU (no wlan card): no netdev registered, attest MISSING exempted by FUCK [attest] as designed
This commit is contained in:
Linehu
2026-10-06 12:13:59 +08:00
parent 14015b78a4
commit bd098f51ec
6 changed files with 288 additions and 0 deletions
+5
View File
@@ -107,6 +107,9 @@ struct dkm_net_device_desc {
int (*scan_count)(void *ctx);
int (*scan_result)(void *ctx, u32 n, struct dkm_net_scan_result *out);
int (*is_wireless)(void *ctx);
/* 关联扩展(尾部追加,ABI 兼容;与 UTSM/include/utsm/net.h 布局一致)。 */
int (*connect)(void *ctx, const char *ssid, const char *password);
int (*disconnect)(void *ctx);
};
struct dkm_net_stats {
@@ -128,6 +131,8 @@ struct dkm_net_api {
int (*scan_count)(u32 index);
int (*scan_result)(u32 index, u32 n, struct dkm_net_scan_result *out);
int (*is_wireless)(u32 index);
int (*connect)(u32 index, const char *ssid, const char *password);
int (*disconnect)(u32 index);
int (*device_stats)(u32 index, struct dkm_net_stats *out);
};