ECP DMA jumpers, configuration via MBDMA where supported, and the Radisys Configuration device.
This commit is contained in:
18
src/config.c
18
src/config.c
@@ -798,6 +798,14 @@ load_ports(void)
|
||||
char temp[512];
|
||||
memset(temp, 0, sizeof(temp));
|
||||
|
||||
int has_jumpers = machine_has_jumpered_ecp_dma(machine, DMA_ANY);
|
||||
int def_jumper = machine_get_default_jumpered_ecp_dma(machine);
|
||||
|
||||
jumpered_internal_ecp_dma = ini_section_get_int(cat, "jumpered_internal_ecp_dma", -1);
|
||||
|
||||
if (!has_jumpers || (jumpered_internal_ecp_dma == def_jumper))
|
||||
ini_section_delete_var(cat, "jumpered_internal_ecp_dma");
|
||||
|
||||
for (int c = 0; c < (SERIAL_MAX - 1); c++) {
|
||||
sprintf(temp, "serial%d_enabled", c + 1);
|
||||
com_ports[c].enabled = !!ini_section_get_int(cat, temp, (c >= 2) ? 0 : 1);
|
||||
@@ -2050,6 +2058,8 @@ config_load(void)
|
||||
for (int i = 0; i < HDC_MAX; i++)
|
||||
hdc_current[i] = hdc_get_from_internal_name("none");
|
||||
|
||||
jumpered_internal_ecp_dma = -1;
|
||||
|
||||
com_ports[0].enabled = 1;
|
||||
com_ports[1].enabled = 1;
|
||||
for (i = 2; i < (SERIAL_MAX - 1); i++)
|
||||
@@ -2711,6 +2721,14 @@ save_ports(void)
|
||||
ini_section_t cat = ini_find_or_create_section(config, "Ports (COM & LPT)");
|
||||
char temp[512];
|
||||
|
||||
int has_jumpers = machine_has_jumpered_ecp_dma(machine, DMA_ANY);
|
||||
int def_jumper = machine_get_default_jumpered_ecp_dma(machine);
|
||||
|
||||
if (!has_jumpers || (jumpered_internal_ecp_dma == def_jumper))
|
||||
ini_section_delete_var(cat, "jumpered_internal_ecp_dma");
|
||||
else
|
||||
ini_section_set_int(cat, "jumpered_internal_ecp_dma", jumpered_internal_ecp_dma);
|
||||
|
||||
for (int c = 0; c < (SERIAL_MAX - 1); c++) {
|
||||
sprintf(temp, "serial%d_enabled", c + 1);
|
||||
if (((c < 2) && com_ports[c].enabled) || ((c >= 2) && !com_ports[c].enabled))
|
||||
|
||||
Reference in New Issue
Block a user