summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2014-12-01 14:02:55 +0000
committerCorinna Vinschen <corinna@vinschen.de>2014-12-01 14:02:55 +0000
commit9e9d7a8ce1f7ff36d8d81fb6088a2f6cbe2717f4 (patch)
treebd8c40e6647560c0f4fa1f82d64a07b691fa36cd
parent26158dc3e9c20fc0488944f0c3eefdc19255e7da (diff)
downloadcygnal-9e9d7a8ce1f7ff36d8d81fb6088a2f6cbe2717f4.tar.gz
cygnal-9e9d7a8ce1f7ff36d8d81fb6088a2f6cbe2717f4.tar.bz2
cygnal-9e9d7a8ce1f7ff36d8d81fb6088a2f6cbe2717f4.zip
* 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.
-rw-r--r--winsup/cygwin/ChangeLog8
-rw-r--r--winsup/cygwin/wincap.cc45
-rw-r--r--winsup/cygwin/wincap.h2
3 files changed, 43 insertions, 12 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 8975e68fc..a1c855ff0 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -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
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc
index f6faa03b6..279754a9c 100644
--- a/winsup/cygwin/wincap.cc
+++ b/winsup/cygwin/wincap.cc
@@ -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;
}
diff --git a/winsup/cygwin/wincap.h b/winsup/cygwin/wincap.h
index 43c72b648..b41a2c625 100644
--- a/winsup/cygwin/wincap.h
+++ b/winsup/cygwin/wincap.h
@@ -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)