You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-09-12 18:50:20 -07:00
Rebase against 7c7b3e43047a26789f1cbd5b3a04a37a3d08e2bd.
This commit is contained in:
@@ -1,14 +1,14 @@
|
||||
From 8965b20d2366ba5e6aea5606952732c53de474f8 Mon Sep 17 00:00:00 2001
|
||||
From 956a8db76088ebaa82e0093ab0e62ed1ed2aa69b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 27 Feb 2016 00:04:10 +0100
|
||||
Subject: [PATCH] krnl386.exe16: Emulate GDT and LDT access.
|
||||
|
||||
---
|
||||
dlls/krnl386.exe16/instr.c | 65 ++++++++++++++++++++++++++++++++------
|
||||
1 file changed, 56 insertions(+), 9 deletions(-)
|
||||
dlls/krnl386.exe16/instr.c | 57 +++++++++++++++++++++++++++++++++-----
|
||||
1 file changed, 50 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/dlls/krnl386.exe16/instr.c b/dlls/krnl386.exe16/instr.c
|
||||
index dc577f702d9..05158d0de28 100644
|
||||
index 6af3ca30d59..bc05db6a719 100644
|
||||
--- a/dlls/krnl386.exe16/instr.c
|
||||
+++ b/dlls/krnl386.exe16/instr.c
|
||||
@@ -60,7 +60,8 @@ static inline void *get_stack( CONTEXT *context )
|
||||
@@ -21,7 +21,7 @@ index dc577f702d9..05158d0de28 100644
|
||||
{
|
||||
WORD limit;
|
||||
BYTE *base;
|
||||
@@ -68,19 +69,41 @@ struct idtr
|
||||
@@ -68,12 +69,30 @@ struct idtr
|
||||
#pragma pack(pop)
|
||||
|
||||
static LDT_ENTRY idt[256];
|
||||
@@ -32,43 +32,30 @@ index dc577f702d9..05158d0de28 100644
|
||||
+static BOOL emulate_idtr( BYTE *data, unsigned int data_size, unsigned int *offset )
|
||||
{
|
||||
- struct idtr ret;
|
||||
#ifdef __i386__
|
||||
+ struct dtr ret;
|
||||
__asm__( "sidtl %0" : "=m" (ret) );
|
||||
- return ret;
|
||||
+ *offset = data - ret.base;
|
||||
+ return (*offset <= ret.limit + 1 - data_size);
|
||||
+#else
|
||||
+ return FALSE;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+static BOOL emulate_gdtr( BYTE *data, unsigned int data_size, unsigned int *offset )
|
||||
+{
|
||||
+#ifdef __i386__
|
||||
+ struct dtr ret;
|
||||
+ __asm__( "sgdtl %0" : "=m" (ret) );
|
||||
+ *offset = data - ret.base;
|
||||
+ return (*offset <= ret.limit + 1 - data_size);
|
||||
#else
|
||||
- ret.base = (BYTE *)idt;
|
||||
- ret.limit = sizeof(idt) - 1;
|
||||
+ return FALSE;
|
||||
#endif
|
||||
- return ret;
|
||||
}
|
||||
|
||||
+}
|
||||
+
|
||||
+static inline WORD get_ldt(void)
|
||||
+{
|
||||
+ WORD seg = 1;
|
||||
+#ifdef __i386__
|
||||
+ __asm__( "sldt %0" : "=m" (seg) );
|
||||
+#endif
|
||||
+ return seg;
|
||||
+}
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* INSTR_ReplaceSelector
|
||||
@@ -705,10 +728,9 @@ DWORD __wine_emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
|
||||
@@ -700,10 +719,9 @@ DWORD __wine_emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
BYTE *data = INSTR_GetOperandAddr(context, instr + 1, long_addr,
|
||||
segprefix, &len);
|
||||
unsigned int data_size = (*instr == 0x8b) ? (long_op ? 4 : 2) : 1;
|
||||
@@ -81,7 +68,7 @@ index dc577f702d9..05158d0de28 100644
|
||||
{
|
||||
idt[1].LimitLow = 0x100; /* FIXME */
|
||||
idt[2].LimitLow = 0x11E; /* FIXME */
|
||||
@@ -722,6 +744,31 @@ DWORD __wine_emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
@@ -717,6 +735,31 @@ DWORD __wine_emulate_instruction( EXCEPTION_RECORD *rec, CONTEXT *context )
|
||||
context->Eip += prefixlen + len + 1;
|
||||
return ExceptionContinueExecution;
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From e27b26f100bedf8f8374333ce9026fd96ed9102b Mon Sep 17 00:00:00 2001
|
||||
From d529517d43a4747ab61dde9c6eff4a14a261d678 Mon Sep 17 00:00:00 2001
|
||||
From: Torge Matthies <tmatthies@codeweavers.com>
|
||||
Date: Fri, 25 Oct 2024 10:47:30 +0200
|
||||
Subject: [PATCH] mf/tests: Add network bytestream tests.
|
||||
@@ -8,10 +8,10 @@ Subject: [PATCH] mf/tests: Add network bytestream tests.
|
||||
1 file changed, 347 insertions(+)
|
||||
|
||||
diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c
|
||||
index 1070e9c1b2d..9d41b05fad3 100644
|
||||
index a02f2859f91..db58a55d145 100644
|
||||
--- a/dlls/mf/tests/mf.c
|
||||
+++ b/dlls/mf/tests/mf.c
|
||||
@@ -4908,6 +4908,7 @@ static void test_evr(void)
|
||||
@@ -5190,6 +5190,7 @@ static void test_evr(void)
|
||||
|
||||
hr = IMFActivate_ActivateObject(activate, &IID_IMFMediaSink, (void **)&sink);
|
||||
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
|
||||
@@ -19,8 +19,8 @@ index 1070e9c1b2d..9d41b05fad3 100644
|
||||
|
||||
check_interface(sink, &IID_IMFMediaSinkPreroll, TRUE);
|
||||
check_interface(sink, &IID_IMFVideoRenderer, TRUE);
|
||||
@@ -7130,6 +7131,351 @@ static void test_media_session_thinning(void)
|
||||
ok(hr == S_OK, "Shutdown failure, hr %#lx.\n", hr);
|
||||
@@ -8040,6 +8041,351 @@ static void test_media_session_seek(void)
|
||||
ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);
|
||||
}
|
||||
|
||||
+static void test_network_bytestream(void)
|
||||
@@ -371,14 +371,14 @@ index 1070e9c1b2d..9d41b05fad3 100644
|
||||
START_TEST(mf)
|
||||
{
|
||||
init_functions();
|
||||
@@ -7165,6 +7511,7 @@ START_TEST(mf)
|
||||
@@ -8075,6 +8421,7 @@ START_TEST(mf)
|
||||
test_media_session_Start();
|
||||
test_MFEnumDeviceSources();
|
||||
test_media_session_Close();
|
||||
+ test_network_bytestream();
|
||||
test_media_session_source_shutdown();
|
||||
test_media_session_thinning();
|
||||
}
|
||||
test_media_session_seek();
|
||||
--
|
||||
2.47.2
|
||||
|
||||
|
@@ -1 +1 @@
|
||||
e44737278a4487cb8a75f81cedbe7393c5f716cc
|
||||
7c7b3e43047a26789f1cbd5b3a04a37a3d08e2bd
|
||||
|
Reference in New Issue
Block a user