Refactored AHA-154x and BusLogic emulation and made them use a common core;
Fixed AHA-154x scatter/gather transfers; Two-phased SCSI read-direction commands; Made scsi_bus.c use a dynamically malloc'd buffer instead of a giant fixed-size buffer; The AHA-154x/BusLogic thread now uses mutexes; The BusLogic BT-545C is now the BT-545S; Added the BusLogic BT-542BH; The AHA-1542CF now again uses the v2.11 BIOS as the CD booting now works; Applied PCem commit that adds NMI support to the recompiler; Applied PCem commit that adds the IBM XT 286; Applied PCem commits that have to do with sound, including the ES1371; Fixed the NCR5380 output data register; Moved the SLiRP mutex stuff from win.c to the appropriate network files; Added sanity checks to everything in win_thread.c.
This commit is contained in:
@@ -32,6 +32,29 @@ static queueADT slirpq; /* SLiRP library handle */
|
||||
static thread_t *poll_tid;
|
||||
static NETRXCB poll_rx; /* network RX function to call */
|
||||
static void *poll_arg; /* network RX function arg */
|
||||
static void *slirpMutex;
|
||||
|
||||
|
||||
|
||||
void
|
||||
network_slirp_mutex_init(void)
|
||||
{
|
||||
slirpMutex = thread_create_mutex(L"86Box.SLiRPMutex");
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
startslirp(void)
|
||||
{
|
||||
thread_wait_mutex(slirpMutex);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
endslirp(void)
|
||||
{
|
||||
thread_release_mutex(slirpMutex);
|
||||
}
|
||||
|
||||
|
||||
/* Instead of calling this and crashing some times
|
||||
|
||||
@@ -89,6 +89,8 @@ network_init(void)
|
||||
|
||||
if (network_type != NET_TYPE_PCAP)
|
||||
network_pcap_close();
|
||||
|
||||
network_slirp_mutex_init();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -70,6 +70,7 @@ extern void network_pcap_close(void);
|
||||
extern int network_pcap_test(void);
|
||||
extern void network_pcap_in(uint8_t *, int);
|
||||
|
||||
extern void network_slirp_mutex_init(void);
|
||||
extern int network_slirp_setup(uint8_t *, NETRXCB, void *);
|
||||
extern void network_slirp_close(void);
|
||||
extern int network_slirp_test(void);
|
||||
|
||||
Reference in New Issue
Block a user