* wincap.cc (wincap_minimal): Remove.

(wincaps): Drop has_physical_mem_access.
	(wincap_10): New global wincaps to support Windows 10.
	(wincapc::init): Use wincap_10 for version >= 6.4 and as default.
	* wincap.h (wincaps::has_physical_mem_access): remove.
This commit is contained in:
Corinna Vinschen 2014-12-01 14:02:55 +00:00
parent 26158dc3e9
commit 9e9d7a8ce1
3 changed files with 43 additions and 12 deletions

View File

@ -1,3 +1,11 @@
2014-12-01 Corinna Vinschen <corinna@vinschen.de>
* wincap.cc (wincap_minimal): Remove.
(wincaps): Drop has_physical_mem_access.
(wincap_10): New global wincaps to support Windows 10.
(wincapc::init): Use wincap_10 for version >= 6.4 and as default.
* wincap.h (wincaps::has_physical_mem_access): remove.
2014-11-28 Corinna Vinschen <corinna@vinschen.de> 2014-11-28 Corinna Vinschen <corinna@vinschen.de>
* cygheap.cc (init_cygheap::init_tls_list): Accommodate threadlist * cygheap.cc (init_cygheap::init_tls_list): Accommodate threadlist

View File

@ -20,13 +20,9 @@ details. */
in the same session. I'm only writing this longish comment because I'm in the same session. I'm only writing this longish comment because I'm
puzzled that this has never been noticed before... */ puzzled that this has never been noticed before... */
/* Minimal set of capabilities required to run Cygwin. */
#define wincap_minimal wincap_xpsp2
wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = { wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = {
max_sys_priv:SE_CREATE_GLOBAL_PRIVILEGE, max_sys_priv:SE_CREATE_GLOBAL_PRIVILEGE,
is_server:false, is_server:false,
has_physical_mem_access:true,
has_mandatory_integrity_control:false, has_mandatory_integrity_control:false,
needs_count_in_si_lpres2:false, needs_count_in_si_lpres2:false,
has_recycle_dot_bin:false, has_recycle_dot_bin:false,
@ -55,7 +51,6 @@ wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = {
wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = { wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = {
max_sys_priv:SE_CREATE_GLOBAL_PRIVILEGE, max_sys_priv:SE_CREATE_GLOBAL_PRIVILEGE,
is_server:false, is_server:false,
has_physical_mem_access:false,
has_mandatory_integrity_control:false, has_mandatory_integrity_control:false,
needs_count_in_si_lpres2:false, needs_count_in_si_lpres2:false,
has_recycle_dot_bin:false, has_recycle_dot_bin:false,
@ -84,7 +79,6 @@ wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = {
wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = { wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
max_sys_priv:SE_CREATE_SYMBOLIC_LINK_PRIVILEGE, max_sys_priv:SE_CREATE_SYMBOLIC_LINK_PRIVILEGE,
is_server:false, is_server:false,
has_physical_mem_access:false,
has_mandatory_integrity_control:true, has_mandatory_integrity_control:true,
needs_count_in_si_lpres2:true, needs_count_in_si_lpres2:true,
has_recycle_dot_bin:true, has_recycle_dot_bin:true,
@ -113,7 +107,6 @@ wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = { wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = {
max_sys_priv:SE_CREATE_SYMBOLIC_LINK_PRIVILEGE, max_sys_priv:SE_CREATE_SYMBOLIC_LINK_PRIVILEGE,
is_server:false, is_server:false,
has_physical_mem_access:false,
has_mandatory_integrity_control:true, has_mandatory_integrity_control:true,
needs_count_in_si_lpres2:false, needs_count_in_si_lpres2:false,
has_recycle_dot_bin:true, has_recycle_dot_bin:true,
@ -142,7 +135,34 @@ wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = {
wincaps wincap_8 __attribute__((section (".cygwin_dll_common"), shared)) = { wincaps wincap_8 __attribute__((section (".cygwin_dll_common"), shared)) = {
max_sys_priv:SE_CREATE_SYMBOLIC_LINK_PRIVILEGE, max_sys_priv:SE_CREATE_SYMBOLIC_LINK_PRIVILEGE,
is_server:false, is_server:false,
has_physical_mem_access:false, has_mandatory_integrity_control:true,
needs_count_in_si_lpres2:false,
has_recycle_dot_bin:true,
has_gaa_on_link_prefix:true,
has_gaa_largeaddress_bug:false,
supports_all_posix_ai_flags:true,
has_restricted_stack_args:false,
has_transactions:true,
has_sendmsg:true,
has_broken_udf:false,
has_broken_alloc_console:true,
has_always_all_codepages:true,
has_localenames:true,
has_fast_cwd:true,
has_restricted_raw_disk_access:true,
use_dont_resolve_hack:false,
has_console_logon_sid:true,
wow64_has_secondary_stack:false,
has_program_compatibility_assistant:true,
has_pipe_reject_remote_clients:true,
terminate_thread_frees_stack:true,
has_precise_system_time:true,
has_microsoft_accounts:true,
};
wincaps wincap_10 __attribute__((section (".cygwin_dll_common"), shared)) = {
max_sys_priv:SE_CREATE_SYMBOLIC_LINK_PRIVILEGE,
is_server:false,
has_mandatory_integrity_control:true, has_mandatory_integrity_control:true,
needs_count_in_si_lpres2:false, needs_count_in_si_lpres2:false,
has_recycle_dot_bin:true, has_recycle_dot_bin:true,
@ -202,13 +222,18 @@ wincapc::init ()
case 1: case 1:
caps = &wincap_7; caps = &wincap_7;
break; break;
default: case 2:
case 3:
caps = &wincap_8; caps = &wincap_8;
break; break;
default:
caps = &wincap_10;
break;
} }
break; break;
case 10:
default: default:
caps = &wincap_minimal; caps = &wincap_10;
break; break;
} }

View File

@ -16,7 +16,6 @@ struct wincaps
{ {
DWORD max_sys_priv; DWORD max_sys_priv;
unsigned is_server : 1; unsigned is_server : 1;
unsigned has_physical_mem_access : 1;
unsigned has_mandatory_integrity_control : 1; unsigned has_mandatory_integrity_control : 1;
unsigned needs_count_in_si_lpres2 : 1; unsigned needs_count_in_si_lpres2 : 1;
unsigned has_recycle_dot_bin : 1; unsigned has_recycle_dot_bin : 1;
@ -67,7 +66,6 @@ public:
DWORD IMPLEMENT (max_sys_priv) DWORD IMPLEMENT (max_sys_priv)
bool IMPLEMENT (is_server) bool IMPLEMENT (is_server)
bool IMPLEMENT (has_physical_mem_access)
bool IMPLEMENT (has_mandatory_integrity_control) bool IMPLEMENT (has_mandatory_integrity_control)
bool IMPLEMENT (needs_count_in_si_lpres2) bool IMPLEMENT (needs_count_in_si_lpres2)
bool IMPLEMENT (has_recycle_dot_bin) bool IMPLEMENT (has_recycle_dot_bin)