#ifndef TARGET_CORE_PSCSI_H #define TARGET_CORE_PSCSI_H #define PSCSI_VERSION "v4.0" /* used in pscsi_find_alloc_len() */ #ifndef INQUIRY_DATA_SIZE #define INQUIRY_DATA_SIZE 0x24 #endif /* used in pscsi_add_device_to_list() */ #define PSCSI_DEFAULT_QUEUEDEPTH 1 #define PS_RETRY 5 #define PS_TIMEOUT_DISK (15*HZ) #define PS_TIMEOUT_OTHER (500*HZ) #include /* ___cacheline_aligned */ #include /* struct se_device */ struct block_device; struct scsi_device; struct Scsi_Host; struct pscsi_plugin_task { unsigned char pscsi_sense[TRANSPORT_SENSE_BUFFER]; int pscsi_direction; int pscsi_result; u32 pscsi_resid; unsigned char pscsi_cdb[0]; } ____cacheline_aligned; #define PDF_HAS_CHANNEL_ID 0x01 #define PDF_HAS_TARGET_ID 0x02 #define PDF_HAS_LUN_ID 0x04 #define PDF_HAS_VPD_UNIT_SERIAL 0x08 #define PDF_HAS_VPD_DEV_IDENT 0x10 #define PDF_HAS_VIRT_HOST_ID 0x20 struct pscsi_dev_virt { struct se_device dev; int pdv_flags; int pdv_host_id; int pdv_channel_id; int pdv_target_id; int pdv_lun_id; struct block_device *pdv_bd; struct scsi_device *pdv_sd; struct Scsi_Host *pdv_lld_host; } ____cacheline_aligned; typedef enum phv_modes { PHV_VIRTUAL_HOST_ID, PHV_LLD_SCSI_HOST_NO } phv_modes_t; struct pscsi_hba_virt { int phv_host_id; phv_modes_t phv_mode; struct Scsi_Host *phv_lld_host; } ____cacheline_aligned; #endif /*** TARGET_CORE_PSCSI_H ***/ lass='sub'>net-next plumbingsTobias Klauser
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2017-02-03 17:10:28 +1100
committerMichael Ellerman <mpe@ellerman.id.au>2017-02-08 23:36:29 +1100
commitd7df2443cd5f67fc6ee7c05a88e4996e8177f91b (patch)
tree098a7c0ca4fceb8a65cb1f693c9d71990388933d /sound/firewire/amdtp-stream-trace.h
parenta0615a16f7d0ceb5804d295203c302d496d8ee91 (diff)
powerpc/mm: Fix spurrious segfaults on radix with autonuma
When autonuma (Automatic NUMA balancing) marks a PTE inaccessible it clears all the protection bits but leave the PTE valid. With the Radix MMU, an attempt at executing from such a PTE will take a fault with bit 35 of SRR1 set "SRR1_ISI_N_OR_G". It is thus incorrect to treat all such faults as errors. We should pass them to handle_mm_fault() for autonuma to deal with. The case of pages that are really not executable is handled by the existing test for VM_EXEC further down. That leaves us with catching the kernel attempts at executing user pages. We can catch that earlier, even before we do find_vma. It is never valid on powerpc for the kernel to take an exec fault to begin with. So fold that test with the existing test for the kernel faulting on kernel addresses to bail out early. Fixes: 1d18ad026844 ("powerpc/mm: Detect instruction fetch denied and report") Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Acked-by: Balbir Singh <bsingharora@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'sound/firewire/amdtp-stream-trace.h')