diff options
Diffstat (limited to 'usr/src/uts/i86pc/os/machdep.c')
| -rw-r--r-- | usr/src/uts/i86pc/os/machdep.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/usr/src/uts/i86pc/os/machdep.c b/usr/src/uts/i86pc/os/machdep.c index c9f97fc046..e9d08a9fa7 100644 --- a/usr/src/uts/i86pc/os/machdep.c +++ b/usr/src/uts/i86pc/os/machdep.c @@ -23,6 +23,10 @@ * Copyright 2010 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ +/* + * Copyright (c) 2010, Intel Corporation. + * All rights reserved. + */ #include <sys/types.h> #include <sys/t_lock.h> @@ -147,6 +151,16 @@ int force_shutdown_method = AD_UNKNOWN; char panicbuf[PANICBUFSIZE]; /* + * Flags to control Dynamic Reconfiguration features. + */ +uint64_t plat_dr_options; + +/* + * Maximum physical address for memory DR operations. + */ +uint64_t plat_dr_physmax; + +/* * maxphys - used during physio * klustsize - used for klustering by swapfs and specfs */ @@ -1390,3 +1404,33 @@ lbolt_softint_post(void) { (*setsoftint)(CBE_LOCK_PIL, lbolt_softint_hdl.ih_pending); } + +boolean_t +plat_dr_check_capability(uint64_t features) +{ + return ((plat_dr_options & features) == features); +} + +boolean_t +plat_dr_support_cpu(void) +{ + return (plat_dr_options & PLAT_DR_FEATURE_CPU); +} + +boolean_t +plat_dr_support_memory(void) +{ + return (plat_dr_options & PLAT_DR_FEATURE_MEMORY); +} + +void +plat_dr_enable_capability(uint64_t features) +{ + atomic_or_64(&plat_dr_options, features); +} + +void +plat_dr_disable_capability(uint64_t features) +{ + atomic_and_64(&plat_dr_options, ~features); +} |
