* 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>
* 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
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)) = {
max_sys_priv:SE_CREATE_GLOBAL_PRIVILEGE,
is_server:false,
has_physical_mem_access:true,
has_mandatory_integrity_control:false,
needs_count_in_si_lpres2: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)) = {
max_sys_priv:SE_CREATE_GLOBAL_PRIVILEGE,
is_server:false,
has_physical_mem_access:false,
has_mandatory_integrity_control:false,
needs_count_in_si_lpres2: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)) = {
max_sys_priv:SE_CREATE_SYMBOLIC_LINK_PRIVILEGE,
is_server:false,
has_physical_mem_access:false,
has_mandatory_integrity_control:true,
needs_count_in_si_lpres2: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)) = {
max_sys_priv:SE_CREATE_SYMBOLIC_LINK_PRIVILEGE,
is_server:false,
has_physical_mem_access:false,
has_mandatory_integrity_control:true,
needs_count_in_si_lpres2:false,
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)) = {
max_sys_priv:SE_CREATE_SYMBOLIC_LINK_PRIVILEGE,
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,
needs_count_in_si_lpres2:false,
has_recycle_dot_bin:true,
@ -202,13 +222,18 @@ wincapc::init ()
case 1:
caps = &wincap_7;
break;
default:
case 2:
case 3:
caps = &wincap_8;
break;
default:
caps = &wincap_10;
break;
}
break;
case 10:
default:
caps = &wincap_minimal;
caps = &wincap_10;
break;
}

View File

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