Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
7e47d19d
Commit
7e47d19d
authored
Apr 03, 2009
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ntdll: Set the WOW64 flag according to the server supported CPUs.
parent
279defe6
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
11 additions
and
3 deletions
+11
-3
ntdll_misc.h
dlls/ntdll/ntdll_misc.h
+1
-0
process.c
dlls/ntdll/process.c
+7
-3
server.c
dlls/ntdll/server.c
+3
-0
No files found.
dlls/ntdll/ntdll_misc.h
View file @
7e47d19d
...
@@ -66,6 +66,7 @@ extern void virtual_init_threading(void);
...
@@ -66,6 +66,7 @@ extern void virtual_init_threading(void);
/* server support */
/* server support */
extern
timeout_t
server_start_time
;
extern
timeout_t
server_start_time
;
extern
unsigned
int
server_cpus
;
extern
void
server_init_process
(
void
);
extern
void
server_init_process
(
void
);
extern
NTSTATUS
server_init_process_done
(
void
);
extern
NTSTATUS
server_init_process_done
(
void
);
extern
size_t
server_init_thread
(
void
*
entry_point
);
extern
size_t
server_init_thread
(
void
*
entry_point
);
...
...
dlls/ntdll/process.c
View file @
7e47d19d
...
@@ -305,10 +305,14 @@ NTSTATUS WINAPI NtQueryInformationProcess(
...
@@ -305,10 +305,14 @@ NTSTATUS WINAPI NtQueryInformationProcess(
else
ret
=
STATUS_INFO_LENGTH_MISMATCH
;
else
ret
=
STATUS_INFO_LENGTH_MISMATCH
;
break
;
break
;
case
ProcessWow64Information
:
case
ProcessWow64Information
:
if
(
ProcessInformationLength
==
4
)
if
(
ProcessInformationLength
==
sizeof
(
DWORD
)
)
{
{
memset
(
ProcessInformation
,
0
,
ProcessInformationLength
);
#ifdef __i386__
len
=
4
;
*
(
DWORD
*
)
ProcessInformation
=
(
server_cpus
&
(
1
<<
CPU_x86_64
))
!=
0
;
#else
*
(
DWORD
*
)
ProcessInformation
=
FALSE
;
#endif
len
=
sizeof
(
DWORD
);
}
}
else
ret
=
STATUS_INFO_LENGTH_MISMATCH
;
else
ret
=
STATUS_INFO_LENGTH_MISMATCH
;
break
;
break
;
...
...
dlls/ntdll/server.c
View file @
7e47d19d
...
@@ -90,6 +90,8 @@ static const enum cpu_type client_cpu = CPU_SPARC;
...
@@ -90,6 +90,8 @@ static const enum cpu_type client_cpu = CPU_SPARC;
#error Unsupported CPU
#error Unsupported CPU
#endif
#endif
unsigned
int
server_cpus
=
0
;
#ifndef HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTS
#ifndef HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTS
/* data structure used to pass an fd with sendmsg/recvmsg */
/* data structure used to pass an fd with sendmsg/recvmsg */
struct
cmsg_fd
struct
cmsg_fd
...
@@ -1050,6 +1052,7 @@ size_t server_init_thread( void *entry_point )
...
@@ -1050,6 +1052,7 @@ size_t server_init_thread( void *entry_point )
NtCurrentTeb
()
->
ClientId
.
UniqueThread
=
ULongToHandle
(
reply
->
tid
);
NtCurrentTeb
()
->
ClientId
.
UniqueThread
=
ULongToHandle
(
reply
->
tid
);
info_size
=
reply
->
info_size
;
info_size
=
reply
->
info_size
;
server_start_time
=
reply
->
server_start
;
server_start_time
=
reply
->
server_start
;
server_cpus
=
reply
->
all_cpus
;
}
}
SERVER_END_REQ
;
SERVER_END_REQ
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment