Print this page
    
OS-7125 Need mitigation of L1TF (CVE-2018-3646)
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
    
      
        | Split | Close | 
      | Expand all | 
      | Collapse all | 
    
    
          --- old/usr/src/uts/i86xpv/Makefile.files
          +++ new/usr/src/uts/i86xpv/Makefile.files
   1    1  #
   2    2  # CDDL HEADER START
   3    3  #
   4    4  # The contents of this file are subject to the terms of the
   5    5  # Common Development and Distribution License (the "License").
   6    6  # You may not use this file except in compliance with the License.
   7    7  #
   8    8  # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9    9  # or http://www.opensolaris.org/os/licensing.
  10   10  # See the License for the specific language governing permissions
  11   11  # and limitations under the License.
  12   12  #
  13   13  # When distributing Covered Code, include this CDDL HEADER in each
  14   14  # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15   15  # If applicable, add the following below this CDDL HEADER, with the
  16   16  # fields enclosed by brackets "[]" replaced with your own identifying
  17   17  # information: Portions Copyright [yyyy] [name of copyright owner]
  18   18  #
  19   19  # CDDL HEADER END
  20   20  #
  21   21  
  22   22  #
  23   23  # Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  24   24  #
  25   25  # Copyright 2018 Joyent, Inc.
  26   26  #
  27   27  
  28   28  #       This Makefile defines file modules in the directory uts/i86xpv
  29   29  #       and its children. These are the source files which are i86xpv
  30   30  #       "implementation architecture" dependent.
  31   31  #
  32   32  
  33   33  #
  34   34  #       object lists
  35   35  #
  36   36  CORE_OBJS +=                    \
  37   37          acpi_stubs.o            \
  38   38          balloon.o               \
  39   39          biosdisk.o              \
  40   40          cbe.o                   \
  41   41          cmi.o                   \
  42   42          cmi_hw.o                \
  43   43          cms.o                   \
  44   44          confunix.o              \
  45   45          cpuid.o                 \
  46   46          cpuid_subr.o            \
  47   47          cpupm.o                 \
  48   48          cpupm_mach.o            \
  49   49          dis_tables.o            \
  50   50          ddi_impl.o              \
  51   51          dtrace_subr.o           \
  52   52          dvma.o                  \
  53   53          fakebop.o               \
  
    | ↓ open down ↓ | 53 lines elided | ↑ open up ↑ | 
  54   54          fpu_subr.o              \
  55   55          fastboot.o              \
  56   56          fb_swtch.o              \
  57   57          graphics.o              \
  58   58          hardclk.o               \
  59   59          hat_i86.o               \
  60   60          hat_kdi.o               \
  61   61          hment.o                 \
  62   62          hold_page.o             \
  63   63          hrtimers.o              \
       64 +        ht.o                    \
  64   65          htable.o                \
  65   66          i86_mmu.o               \
  66   67          ibft.o                  \
  67   68          instr_size.o            \
  68   69          intr.o                  \
  69   70          kboot_mmu.o             \
  70   71          kdi_idt.o               \
  71   72          kdi_idthdl.o            \
  72   73          kdi_asm.o               \
  73   74          lgrpplat.o              \
  74   75          mach_kdi.o              \
  75   76          mach_sysconfig.o        \
  76   77          machdep.o               \
  77   78          mem_config_stubs.o      \
  78   79          memnode.o               \
  79   80          microcode.o             \
  80   81          mlsetup.o               \
  81   82          mp_call.o               \
  82   83          mp_implfuncs.o          \
  83   84          mp_machdep.o            \
  84   85          mp_startup.o            \
  85   86          memscrub.o              \
  86   87          notes.o                 \
  87   88          pci_bios.o              \
  88   89          pci_cfgacc.o            \
  89   90          pci_cfgacc_x86.o        \
  90   91          pci_cfgspace.o          \
  91   92          pci_mech1.o             \
  92   93          pci_mech2.o             \
  93   94          pci_neptune.o           \
  94   95          pci_orion.o             \
  95   96          pmem.o                  \
  96   97          ppage.o                 \
  97   98          startup.o               \
  98   99          ssp.o                   \
  99  100          xpv_timestamp.o         \
 100  101          todpc_subr.o            \
 101  102          trap.o                  \
 102  103          vm_machdep.o            \
 103  104          x_call.o
 104  105  
 105  106  #
 106  107  #       Add the SMBIOS subsystem object files directly to the list of objects
 107  108  #       built into unix itself; this is all common code except for smb_dev.c.
 108  109  #
 109  110  CORE_OBJS += $(SMBIOS_OBJS)
 110  111  
 111  112  #
 112  113  # These get compiled twice:
 113  114  # - once in the dboot (direct boot) identity mapped code
 114  115  # - once for use during early startup in unix
 115  116  #
 116  117  BOOT_DRIVER_OBJS =              \
 117  118          boot_console.o          \
 118  119          boot_keyboard.o         \
 119  120          boot_keyboard_table.o   \
 120  121          boot_mmu.o              \
 121  122          boot_vga.o              \
 122  123          boot_fb.o               \
 123  124          boot_xconsole.o         \
 124  125          dboot_multiboot2.o      \
 125  126          $(FONT_OBJS)
 126  127  
 127  128  CORE_OBJS += $(BOOT_DRIVER_OBJS)
 128  129  
 129  130  #
 130  131  # Extra XEN files separated out for now.
 131  132  #
 132  133  CORE_OBJS +=                    \
 133  134          cpr_driver.o            \
 134  135          evtchn.o                \
 135  136          gnttab.o                \
 136  137          hypercall.o             \
 137  138          hyperevent.o            \
 138  139          hypersubr.o             \
 139  140          mp_xen.o                \
 140  141          panic_asm.o             \
 141  142          xenguest.o              \
 142  143          xenbus_client.o         \
 143  144          xenbus_comms.o          \
 144  145          xenbus_probe.o          \
 145  146          xenbus_xs.o             \
 146  147          xen_machdep.o           \
 147  148          xen_mmu.o               \
 148  149          xpv_panic.o             \
 149  150          xvdi.o
 150  151  
 151  152  #
 152  153  #       locore.o is special. It must be the first file relocated so that it
 153  154  #       it is relocated just where its name implies.
 154  155  #
 155  156  SPECIAL_OBJS_32 +=              \
 156  157          locore.o                \
 157  158          fast_trap_asm.o         \
 158  159          interrupt.o             \
 159  160          syscall_asm.o
 160  161  
 161  162  SPECIAL_OBJS_64 +=              \
 162  163          locore.o                \
 163  164          fast_trap_asm.o         \
 164  165          interrupt.o             \
 165  166          syscall_asm_amd64.o     \
 166  167          kpti_trampolines.o
 167  168  
 168  169  SPECIAL_OBJS += $(SPECIAL_OBJS_$(CLASS))
 169  170  
 170  171  #
 171  172  # object files used to boot into full kernel
 172  173  #
 173  174  DBOOT_OBJS_32 = muldiv.o
 174  175  
 175  176  DBOOT_OBJS_64 =
 176  177  
 177  178  DBOOT_OBJS +=                   \
 178  179          dboot_asm.o             \
 179  180          dboot_printf.o          \
 180  181          dboot_startkern.o       \
 181  182          dboot_xen.o             \
 182  183          hypercall.o             \
 183  184          hypersubr.o             \
 184  185          memcpy.o                \
 185  186          memset.o                \
 186  187          string.o                \
 187  188          $(BOOT_DRIVER_OBJS)     \
 188  189          $(DBOOT_OBJS_$(CLASS))
 189  190  
 190  191  #
 191  192  #                       driver & misc modules
 192  193  #
 193  194  BALLOON_OBJS += balloon_drv.o
 194  195  DOMCAPS_OBJS += domcaps.o
 195  196  EVTCHN_OBJS += evtchn_dev.o
 196  197  GFX_PRIVATE_OBJS += gfx_private.o gfxp_pci.o gfxp_segmap.o \
 197  198                      gfxp_devmap.o gfxp_vgatext.o gfxp_vm.o vgasubr.o \
 198  199                      gfxp_fb.o gfxp_bitmap.o
 199  200  IOAT_OBJS += ioat.o ioat_rs.o ioat_ioctl.o ioat_chan.o
 200  201  ISANEXUS_OBJS += isa.o dma_engine.o i8237A.o
 201  202  PCI_E_NEXUS_OBJS += npe.o npe_misc.o
 202  203  PCI_E_NEXUS_OBJS += pci_common.o pci_kstats.o pci_tools.o
 203  204  PCINEXUS_OBJS += pci.o pci_common.o pci_kstats.o pci_tools.o
 204  205  PRIVCMD_OBJS += seg_mf.o privcmd.o privcmd_hcall.o
 205  206  ROOTNEX_OBJS += rootnex.o
 206  207  XPVTOD_OBJS += xpvtod.o
 207  208  XPV_AUTOCONFIG_OBJS += xpv_autoconfig.o
 208  209  XPV_PSM_OBJS += xpv_psm.o mp_platform_common.o mp_platform_xpv.o \
 209  210                  apic_regops.o psm_common.o xpv_intr.o
 210  211  XPV_UPPC_OBJS += xpv_uppc.o psm_common.o
 211  212  XENBUS_OBJS += xenbus_dev.o
 212  213  XENCONS_OBJS += xencons.o
 213  214  XPVD_OBJS += xpvd.o
 214  215  XPVTAP_OBJS += xpvtap.o blk_common.o seg_mf.o
 215  216  XNB_OBJS += xnb.o
 216  217  XNBE_OBJS += xnbe.o
 217  218  XNBO_OBJS += xnbo.o
 218  219  XNBU_OBJS += xnbu.o
 219  220  XNF_OBJS += xnf.o
 220  221  XSVC_OBJS += xsvc.o
 221  222  XDF_OBJS += xdf.o
 222  223  XDB_OBJS += xdb.o
 223  224  XDT_OBJS += xdt.o
 224  225  
 225  226  #
 226  227  #       Build up defines and paths.
 227  228  #
 228  229  INC_PATH        += -I$(UTSBASE)/i86xpv -I$(UTSBASE)/i86pc -I$(SRC)/common \
  
    | ↓ open down ↓ | 155 lines elided | ↑ open up ↑ | 
 229  230          -I$(UTSBASE)/common/xen
 230  231  
 231  232  #
 232  233  # Since the assym files are derived, the dependencies must be explicit for
 233  234  # all files including this file. (This is only actually required in the
 234  235  # instance when the .nse_depinfo file does not exist.) It may seem that
 235  236  # the lint targets should also have a similar dependency, but they don't
 236  237  # since only C headers are included when #defined(__lint) is true.
 237  238  #
 238  239  
 239      -ASSYM_DEPS +=                   \
      240 +ASSYM_DEPS      +=              \
 240  241          copy.o                  \
 241  242          desctbls_asm.o          \
 242  243          ddi_i86_asm.o           \
 243  244          exception.o             \
 244  245          fast_trap_asm.o         \
 245  246          float.o                 \
 246  247          hyperevent.o            \
 247  248          i86_subr.o              \
 248  249          kdi_asm.o               \
 249  250          interrupt.o             \
 250  251          lock_prim.o             \
 251  252          locore.o                \
 252  253          panic_asm.o             \
 253  254          sseblk.o                \
 254  255          swtch.o                 \
 255  256          syscall_asm.o           \
 256  257          syscall_asm_amd64.o
 257  258  
 258  259  $(KDI_ASSYM_DEPS:%=$(OBJS_DIR)/%):      $(DSF_DIR)/$(OBJS_DIR)/kdi_assym.h
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX