Skip to content

Commit

Permalink
Two small changes in the xHCI code of the USB debugger.
Browse files Browse the repository at this point in the history
Windows version: Checkbox changes in context dialog also enable the apply button.
GTK version: Started preparing string context dialog.
  • Loading branch information
vruppert committed Feb 4, 2025
1 parent c0f4441 commit 189e51c
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
14 changes: 13 additions & 1 deletion bochs/gui/gtk_usb_debug.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1305,6 +1305,18 @@ void xhci_message_dialog(GtkWindow *parent, const char *msg)

static void xhci_string_context_dialog(GtkWidget *widget, gpointer data)
{
GtkWidget **CTXitem = (GtkWidget**)data;
char str[COMMON_STR_SIZE];

strcpy(str, gtk_entry_get_text(GTK_ENTRY(CTXitem[ID_CONTEXT_TR_DEQUEUE_PTR])));
xhci_str_context_address = strtol(str, NULL, 0) & ~BX_CONST64(0x0F);
strcpy(str, gtk_entry_get_text(GTK_ENTRY(CTXitem[ID_CONTEXT_MAX_PSTREAMS])));
xhci_max_streams = strtol(str, NULL, 0);
if (xhci_max_streams > MAX_PSA_SIZE)
xhci_max_streams = MAX_PSA_SIZE;
if (xhci_max_streams > 0)
xhci_max_streams = (1 << (xhci_max_streams + 1));

// TODO
xhci_message_dialog(GTK_WINDOW(gtk_widget_get_toplevel(widget)),
"xHCI String Context dialog not implemented yet");
Expand Down Expand Up @@ -1714,7 +1726,7 @@ static void xhci_context_dialog(GtkWidget *widget, gpointer data)
g_signal_connect(GTK_EDITABLE(CTXitem[ID_CONTEXT_TR_DEQUEUE_PTR]), "changed",
G_CALLBACK(ep_context_entry_changed), &CTXitem);
CTXitem[ID_CONTEXT_STREAM_CONTEXT] = gtk_button_new_with_label(">");
g_signal_connect(CTXitem[ID_CONTEXT_STREAM_CONTEXT], "clicked", G_CALLBACK(xhci_string_context_dialog), NULL);
g_signal_connect(CTXitem[ID_CONTEXT_STREAM_CONTEXT], "clicked", G_CALLBACK(xhci_string_context_dialog), &CTXitem);
gtk_grid_attach(GTK_GRID(EPgrid), CTXitem[ID_CONTEXT_STREAM_CONTEXT], 2, 12, 1, 1);
CTXitem[ID_CONTEXT_DCS] = gtk_check_button_new_with_label("DCS");
g_signal_connect(GTK_TOGGLE_BUTTON(CTXitem[ID_CONTEXT_DCS]), "toggled",
Expand Down
6 changes: 6 additions & 0 deletions bochs/gui/win32usb.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3215,6 +3215,12 @@ INT_PTR CALLBACK hc_xhci_callback_context(HWND hDlg, UINT msg, WPARAM wParam, LP
xhci_max_streams = (1 << (xhci_max_streams + 1));
DialogBoxParam(NULL, MAKEINTRESOURCE(USB_DEBUG_XHCI_DLG_STR_CONTEXT), hDlg, hc_xhci_callback_str_context, (LPARAM) 0);
break;
case IDC_CONTEXT_LSA:
case IDC_CONTEXT_HID:
case IDC_CONTEXT_DCS:
xhci_context_changed = 1;
EnableWindow(GetDlgItem(hDlg, ID_APPLY), 1);
break;
case IDOK:
if (xhci_context_changed) {
int ret = MessageBox(hDlg, "EP has changed. Save?", NULL, MB_ICONQUESTION | MB_YESNOCANCEL);
Expand Down

0 comments on commit 189e51c

Please sign in to comment.