s390 updates for 5.6-rc3
- Remove ieee_emulation_warnings sysctl which is a dead code. - Avoid triggering rebuild of the kernel during make install. - Enable protected virtualization guest support in default configs. - Fix cio_ignore seq_file .next function to increase position index. And use kobj_to_dev instead of container_of in cio code. - Fix storage block address lists to contain absolute addresses in qdio code. - Few clang warnings and spelling fixes. -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEE3QHqV+H2a8xAv27vjYWKoQLXFBgFAl5RI0sACgkQjYWKoQLX FBig0Af/bJjFspbGFN+YEO+XM3AbURu0lHxq25r0EoSEc9acfS5nMrUk7OhNktND w+m/PoyOg8elB3LDkalz9IP6CZANSSoGV5aKyg3Wp06Wu//DdwAMJWqFOyosJ89z zVOSGgX3zHFarodS4suDPTEdDEcSMVVvqnz1A81dQD9QNWyVCutqYABj3OEittOD EBYchT7Qs/ObwbP+RaUa0swbrq11P8hZSAblbjkbuFpw45CdQ6rFoyJO1Tccuyh7 puNlPLpkDI15RNxC+vh+4NItcxPcIL+Qa0kltbQJLq7aq/UqLNF02vLjWluH4hG6 i6+ZzsIra5gdtdf2cPFiKo7EagpQ2w== =CRBt -----END PGP SIGNATURE----- Merge tag 's390-5.6-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux Pull s390 fixes from Vasily Gorbik: - Remove ieee_emulation_warnings sysctl which is a dead code. - Avoid triggering rebuild of the kernel during make install. - Enable protected virtualization guest support in default configs. - Fix cio_ignore seq_file .next function to increase position index. And use kobj_to_dev instead of container_of in cio code. - Fix storage block address lists to contain absolute addresses in qdio code. - Few clang warnings and spelling fixes. * tag 's390-5.6-4' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: s390/qdio: fill SBALEs with absolute addresses s390/qdio: fill SL with absolute addresses s390: remove obsolete ieee_emulation_warnings s390: make 'install' not depend on vmlinux s390/kaslr: Fix casts in get_random s390/mm: Explicitly compare PAGE_DEFAULT_KEY against zero in storage_key_init_range s390/pkey/zcrypt: spelling s/crytp/crypt/ s390/cio: use kobj_to_dev() API s390/defconfig: enable CONFIG_PROTECTED_VIRTUALIZATION_GUEST s390/cio: cio_ignore_proc_seq_next should increase position index
This commit is contained in:
Коммит
591dd4c101
|
@ -146,7 +146,7 @@ all: bzImage
|
|||
#KBUILD_IMAGE is necessary for packaging targets like rpm-pkg, deb-pkg...
|
||||
KBUILD_IMAGE := $(boot)/bzImage
|
||||
|
||||
install: vmlinux
|
||||
install:
|
||||
$(Q)$(MAKE) $(build)=$(boot) $@
|
||||
|
||||
bzImage: vmlinux
|
||||
|
|
|
@ -70,7 +70,7 @@ $(obj)/compressed/vmlinux: $(obj)/startup.a FORCE
|
|||
$(obj)/startup.a: $(OBJECTS) FORCE
|
||||
$(call if_changed,ar)
|
||||
|
||||
install: $(CONFIGURE) $(obj)/bzImage
|
||||
install:
|
||||
sh -x $(srctree)/$(obj)/install.sh $(KERNELRELEASE) $(obj)/bzImage \
|
||||
System.map "$(INSTALL_PATH)"
|
||||
|
||||
|
|
|
@ -75,7 +75,7 @@ static unsigned long get_random(unsigned long limit)
|
|||
*(unsigned long *) prng.parm_block ^= seed;
|
||||
for (i = 0; i < 16; i++) {
|
||||
cpacf_kmc(CPACF_KMC_PRNG, prng.parm_block,
|
||||
(char *) entropy, (char *) entropy,
|
||||
(u8 *) entropy, (u8 *) entropy,
|
||||
sizeof(entropy));
|
||||
memcpy(prng.parm_block, entropy, sizeof(entropy));
|
||||
}
|
||||
|
|
|
@ -53,6 +53,7 @@ CONFIG_VFIO_AP=m
|
|||
CONFIG_CRASH_DUMP=y
|
||||
CONFIG_HIBERNATION=y
|
||||
CONFIG_PM_DEBUG=y
|
||||
CONFIG_PROTECTED_VIRTUALIZATION_GUEST=y
|
||||
CONFIG_CMM=m
|
||||
CONFIG_APPLDATA_BASE=y
|
||||
CONFIG_KVM=m
|
||||
|
@ -474,7 +475,6 @@ CONFIG_NLMON=m
|
|||
# CONFIG_NET_VENDOR_EMULEX is not set
|
||||
# CONFIG_NET_VENDOR_EZCHIP is not set
|
||||
# CONFIG_NET_VENDOR_GOOGLE is not set
|
||||
# CONFIG_NET_VENDOR_HP is not set
|
||||
# CONFIG_NET_VENDOR_HUAWEI is not set
|
||||
# CONFIG_NET_VENDOR_INTEL is not set
|
||||
# CONFIG_NET_VENDOR_MARVELL is not set
|
||||
|
@ -684,7 +684,6 @@ CONFIG_CRYPTO_ADIANTUM=m
|
|||
CONFIG_CRYPTO_XCBC=m
|
||||
CONFIG_CRYPTO_VMAC=m
|
||||
CONFIG_CRYPTO_CRC32=m
|
||||
CONFIG_CRYPTO_XXHASH=m
|
||||
CONFIG_CRYPTO_MICHAEL_MIC=m
|
||||
CONFIG_CRYPTO_RMD128=m
|
||||
CONFIG_CRYPTO_RMD160=m
|
||||
|
@ -748,7 +747,6 @@ CONFIG_DEBUG_INFO_DWARF4=y
|
|||
CONFIG_GDB_SCRIPTS=y
|
||||
CONFIG_FRAME_WARN=1024
|
||||
CONFIG_HEADERS_INSTALL=y
|
||||
CONFIG_HEADERS_CHECK=y
|
||||
CONFIG_DEBUG_SECTION_MISMATCH=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_PAGEALLOC=y
|
||||
|
@ -772,9 +770,9 @@ CONFIG_DEBUG_MEMORY_INIT=y
|
|||
CONFIG_MEMORY_NOTIFIER_ERROR_INJECT=m
|
||||
CONFIG_DEBUG_PER_CPU_MAPS=y
|
||||
CONFIG_DEBUG_SHIRQ=y
|
||||
CONFIG_PANIC_ON_OOPS=y
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_WQ_WATCHDOG=y
|
||||
CONFIG_PANIC_ON_OOPS=y
|
||||
CONFIG_DEBUG_TIMEKEEPING=y
|
||||
CONFIG_PROVE_LOCKING=y
|
||||
CONFIG_LOCK_STAT=y
|
||||
|
@ -783,9 +781,20 @@ CONFIG_DEBUG_ATOMIC_SLEEP=y
|
|||
CONFIG_DEBUG_LOCKING_API_SELFTESTS=y
|
||||
CONFIG_DEBUG_SG=y
|
||||
CONFIG_DEBUG_NOTIFIERS=y
|
||||
CONFIG_BUG_ON_DATA_CORRUPTION=y
|
||||
CONFIG_DEBUG_CREDENTIALS=y
|
||||
CONFIG_RCU_TORTURE_TEST=m
|
||||
CONFIG_RCU_CPU_STALL_TIMEOUT=300
|
||||
CONFIG_LATENCYTOP=y
|
||||
CONFIG_FUNCTION_PROFILER=y
|
||||
CONFIG_STACK_TRACER=y
|
||||
CONFIG_IRQSOFF_TRACER=y
|
||||
CONFIG_PREEMPT_TRACER=y
|
||||
CONFIG_SCHED_TRACER=y
|
||||
CONFIG_FTRACE_SYSCALLS=y
|
||||
CONFIG_BLK_DEV_IO_TRACE=y
|
||||
CONFIG_HIST_TRIGGERS=y
|
||||
CONFIG_S390_PTDUMP=y
|
||||
CONFIG_NOTIFIER_ERROR_INJECTION=m
|
||||
CONFIG_NETDEV_NOTIFIER_ERROR_INJECT=m
|
||||
CONFIG_FAULT_INJECTION=y
|
||||
|
@ -796,15 +805,6 @@ CONFIG_FAIL_IO_TIMEOUT=y
|
|||
CONFIG_FAIL_FUTEX=y
|
||||
CONFIG_FAULT_INJECTION_DEBUG_FS=y
|
||||
CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y
|
||||
CONFIG_LATENCYTOP=y
|
||||
CONFIG_IRQSOFF_TRACER=y
|
||||
CONFIG_PREEMPT_TRACER=y
|
||||
CONFIG_SCHED_TRACER=y
|
||||
CONFIG_FTRACE_SYSCALLS=y
|
||||
CONFIG_STACK_TRACER=y
|
||||
CONFIG_BLK_DEV_IO_TRACE=y
|
||||
CONFIG_FUNCTION_PROFILER=y
|
||||
CONFIG_HIST_TRIGGERS=y
|
||||
CONFIG_LKDTM=m
|
||||
CONFIG_TEST_LIST_SORT=y
|
||||
CONFIG_TEST_SORT=y
|
||||
|
@ -814,5 +814,3 @@ CONFIG_INTERVAL_TREE_TEST=m
|
|||
CONFIG_PERCPU_TEST=m
|
||||
CONFIG_ATOMIC64_SELFTEST=y
|
||||
CONFIG_TEST_BPF=m
|
||||
CONFIG_BUG_ON_DATA_CORRUPTION=y
|
||||
CONFIG_S390_PTDUMP=y
|
||||
|
|
|
@ -53,6 +53,7 @@ CONFIG_VFIO_AP=m
|
|||
CONFIG_CRASH_DUMP=y
|
||||
CONFIG_HIBERNATION=y
|
||||
CONFIG_PM_DEBUG=y
|
||||
CONFIG_PROTECTED_VIRTUALIZATION_GUEST=y
|
||||
CONFIG_CMM=m
|
||||
CONFIG_APPLDATA_BASE=y
|
||||
CONFIG_KVM=m
|
||||
|
@ -470,7 +471,6 @@ CONFIG_NLMON=m
|
|||
# CONFIG_NET_VENDOR_EMULEX is not set
|
||||
# CONFIG_NET_VENDOR_EZCHIP is not set
|
||||
# CONFIG_NET_VENDOR_GOOGLE is not set
|
||||
# CONFIG_NET_VENDOR_HP is not set
|
||||
# CONFIG_NET_VENDOR_HUAWEI is not set
|
||||
# CONFIG_NET_VENDOR_INTEL is not set
|
||||
# CONFIG_NET_VENDOR_MARVELL is not set
|
||||
|
@ -677,7 +677,6 @@ CONFIG_CRYPTO_ADIANTUM=m
|
|||
CONFIG_CRYPTO_XCBC=m
|
||||
CONFIG_CRYPTO_VMAC=m
|
||||
CONFIG_CRYPTO_CRC32=m
|
||||
CONFIG_CRYPTO_XXHASH=m
|
||||
CONFIG_CRYPTO_MICHAEL_MIC=m
|
||||
CONFIG_CRYPTO_RMD128=m
|
||||
CONFIG_CRYPTO_RMD160=m
|
||||
|
@ -739,18 +738,18 @@ CONFIG_DEBUG_SECTION_MISMATCH=y
|
|||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_MEMORY_INIT=y
|
||||
CONFIG_PANIC_ON_OOPS=y
|
||||
CONFIG_BUG_ON_DATA_CORRUPTION=y
|
||||
CONFIG_RCU_TORTURE_TEST=m
|
||||
CONFIG_RCU_CPU_STALL_TIMEOUT=60
|
||||
CONFIG_LATENCYTOP=y
|
||||
CONFIG_FUNCTION_PROFILER=y
|
||||
CONFIG_STACK_TRACER=y
|
||||
CONFIG_SCHED_TRACER=y
|
||||
CONFIG_FTRACE_SYSCALLS=y
|
||||
CONFIG_STACK_TRACER=y
|
||||
CONFIG_BLK_DEV_IO_TRACE=y
|
||||
CONFIG_FUNCTION_PROFILER=y
|
||||
CONFIG_HIST_TRIGGERS=y
|
||||
CONFIG_S390_PTDUMP=y
|
||||
CONFIG_LKDTM=m
|
||||
CONFIG_PERCPU_TEST=m
|
||||
CONFIG_ATOMIC64_SELFTEST=y
|
||||
CONFIG_TEST_BPF=m
|
||||
CONFIG_BUG_ON_DATA_CORRUPTION=y
|
||||
CONFIG_S390_PTDUMP=y
|
||||
|
|
|
@ -42,7 +42,7 @@ void __storage_key_init_range(unsigned long start, unsigned long end);
|
|||
|
||||
static inline void storage_key_init_range(unsigned long start, unsigned long end)
|
||||
{
|
||||
if (PAGE_DEFAULT_KEY)
|
||||
if (PAGE_DEFAULT_KEY != 0)
|
||||
__storage_key_init_range(start, end);
|
||||
}
|
||||
|
||||
|
|
|
@ -84,7 +84,6 @@ void s390_update_cpu_mhz(void);
|
|||
void cpu_detect_mhz_feature(void);
|
||||
|
||||
extern const struct seq_operations cpuinfo_op;
|
||||
extern int sysctl_ieee_emulation_warnings;
|
||||
extern void execve_tail(void);
|
||||
extern void __bpon(void);
|
||||
|
||||
|
|
|
@ -201,7 +201,7 @@ struct slib {
|
|||
* @scount: SBAL count
|
||||
* @sflags: whole SBAL flags
|
||||
* @length: length
|
||||
* @addr: address
|
||||
* @addr: absolute data address
|
||||
*/
|
||||
struct qdio_buffer_element {
|
||||
u8 eflags;
|
||||
|
@ -211,7 +211,7 @@ struct qdio_buffer_element {
|
|||
u8 scount;
|
||||
u8 sflags;
|
||||
u32 length;
|
||||
void *addr;
|
||||
u64 addr;
|
||||
} __attribute__ ((packed, aligned(16)));
|
||||
|
||||
/**
|
||||
|
@ -227,7 +227,7 @@ struct qdio_buffer {
|
|||
* @sbal: absolute SBAL address
|
||||
*/
|
||||
struct sl_element {
|
||||
unsigned long sbal;
|
||||
u64 sbal;
|
||||
} __attribute__ ((packed));
|
||||
|
||||
/**
|
||||
|
|
|
@ -303,8 +303,10 @@ static void *
|
|||
cio_ignore_proc_seq_next(struct seq_file *s, void *it, loff_t *offset)
|
||||
{
|
||||
struct ccwdev_iter *iter;
|
||||
loff_t p = *offset;
|
||||
|
||||
if (*offset >= (__MAX_SUBCHANNEL + 1) * (__MAX_SSID + 1))
|
||||
(*offset)++;
|
||||
if (p >= (__MAX_SUBCHANNEL + 1) * (__MAX_SSID + 1))
|
||||
return NULL;
|
||||
iter = it;
|
||||
if (iter->devno == __MAX_SUBCHANNEL) {
|
||||
|
@ -314,7 +316,6 @@ cio_ignore_proc_seq_next(struct seq_file *s, void *it, loff_t *offset)
|
|||
return NULL;
|
||||
} else
|
||||
iter->devno++;
|
||||
(*offset)++;
|
||||
return iter;
|
||||
}
|
||||
|
||||
|
|
|
@ -135,7 +135,7 @@ static ssize_t chp_measurement_chars_read(struct file *filp,
|
|||
struct channel_path *chp;
|
||||
struct device *device;
|
||||
|
||||
device = container_of(kobj, struct device, kobj);
|
||||
device = kobj_to_dev(kobj);
|
||||
chp = to_channelpath(device);
|
||||
if (chp->cmg == -1)
|
||||
return 0;
|
||||
|
@ -184,7 +184,7 @@ static ssize_t chp_measurement_read(struct file *filp, struct kobject *kobj,
|
|||
struct device *device;
|
||||
unsigned int size;
|
||||
|
||||
device = container_of(kobj, struct device, kobj);
|
||||
device = kobj_to_dev(kobj);
|
||||
chp = to_channelpath(device);
|
||||
css = to_css(chp->dev.parent);
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/export.h>
|
||||
#include <linux/io.h>
|
||||
#include <asm/qdio.h>
|
||||
|
||||
#include "cio.h"
|
||||
|
@ -205,7 +206,7 @@ static void setup_storage_lists(struct qdio_q *q, struct qdio_irq *irq_ptr,
|
|||
|
||||
/* fill in sl */
|
||||
for (j = 0; j < QDIO_MAX_BUFFERS_PER_Q; j++)
|
||||
q->sl->element[j].sbal = (unsigned long)q->sbal[j];
|
||||
q->sl->element[j].sbal = virt_to_phys(q->sbal[j]);
|
||||
}
|
||||
|
||||
static void setup_queues(struct qdio_irq *irq_ptr,
|
||||
|
|
|
@ -887,7 +887,7 @@ static int ep11_unwrapkey(u16 card, u16 domain,
|
|||
/* empty pin tag */
|
||||
*p++ = 0x04;
|
||||
*p++ = 0;
|
||||
/* encrytped key value tag and bytes */
|
||||
/* encrypted key value tag and bytes */
|
||||
p += asn1tag_write(p, 0x04, enckey, enckeysize);
|
||||
|
||||
/* reply cprb and payload */
|
||||
|
@ -1095,7 +1095,7 @@ int ep11_clr2keyblob(u16 card, u16 domain, u32 keybitsize, u32 keygenflags,
|
|||
|
||||
/* Step 1: generate AES 256 bit random kek key */
|
||||
rc = ep11_genaeskey(card, domain, 256,
|
||||
0x00006c00, /* EN/DECRYTP, WRAP/UNWRAP */
|
||||
0x00006c00, /* EN/DECRYPT, WRAP/UNWRAP */
|
||||
kek, &keklen);
|
||||
if (rc) {
|
||||
DEBUG_ERR(
|
||||
|
|
|
@ -1128,9 +1128,10 @@ static void qeth_clear_output_buffer(struct qeth_qdio_out_q *queue,
|
|||
qeth_tx_complete_buf(buf, error, budget);
|
||||
|
||||
for (i = 0; i < queue->max_elements; ++i) {
|
||||
if (buf->buffer->element[i].addr && buf->is_header[i])
|
||||
kmem_cache_free(qeth_core_header_cache,
|
||||
buf->buffer->element[i].addr);
|
||||
void *data = phys_to_virt(buf->buffer->element[i].addr);
|
||||
|
||||
if (data && buf->is_header[i])
|
||||
kmem_cache_free(qeth_core_header_cache, data);
|
||||
buf->is_header[i] = 0;
|
||||
}
|
||||
|
||||
|
@ -2641,7 +2642,8 @@ static int qeth_init_input_buffer(struct qeth_card *card,
|
|||
buf->pool_entry = pool_entry;
|
||||
for (i = 0; i < QETH_MAX_BUFFER_ELEMENTS(card); ++i) {
|
||||
buf->buffer->element[i].length = PAGE_SIZE;
|
||||
buf->buffer->element[i].addr = pool_entry->elements[i];
|
||||
buf->buffer->element[i].addr =
|
||||
virt_to_phys(pool_entry->elements[i]);
|
||||
if (i == QETH_MAX_BUFFER_ELEMENTS(card) - 1)
|
||||
buf->buffer->element[i].eflags = SBAL_EFLAGS_LAST_ENTRY;
|
||||
else
|
||||
|
@ -3459,9 +3461,8 @@ static void qeth_qdio_cq_handler(struct qeth_card *card, unsigned int qdio_err,
|
|||
|
||||
while ((e < QDIO_MAX_ELEMENTS_PER_BUFFER) &&
|
||||
buffer->element[e].addr) {
|
||||
unsigned long phys_aob_addr;
|
||||
unsigned long phys_aob_addr = buffer->element[e].addr;
|
||||
|
||||
phys_aob_addr = (unsigned long) buffer->element[e].addr;
|
||||
qeth_qdio_handle_aob(card, phys_aob_addr);
|
||||
++e;
|
||||
}
|
||||
|
@ -3750,7 +3751,7 @@ static unsigned int __qeth_fill_buffer(struct sk_buff *skb,
|
|||
elem_length = min_t(unsigned int, length,
|
||||
PAGE_SIZE - offset_in_page(data));
|
||||
|
||||
buffer->element[element].addr = data;
|
||||
buffer->element[element].addr = virt_to_phys(data);
|
||||
buffer->element[element].length = elem_length;
|
||||
length -= elem_length;
|
||||
if (is_first_elem) {
|
||||
|
@ -3780,7 +3781,7 @@ static unsigned int __qeth_fill_buffer(struct sk_buff *skb,
|
|||
elem_length = min_t(unsigned int, length,
|
||||
PAGE_SIZE - offset_in_page(data));
|
||||
|
||||
buffer->element[element].addr = data;
|
||||
buffer->element[element].addr = virt_to_phys(data);
|
||||
buffer->element[element].length = elem_length;
|
||||
buffer->element[element].eflags =
|
||||
SBAL_EFLAGS_MIDDLE_FRAG;
|
||||
|
@ -3820,7 +3821,7 @@ static unsigned int qeth_fill_buffer(struct qeth_qdio_out_buffer *buf,
|
|||
int element = buf->next_element_to_fill;
|
||||
is_first_elem = false;
|
||||
|
||||
buffer->element[element].addr = hdr;
|
||||
buffer->element[element].addr = virt_to_phys(hdr);
|
||||
buffer->element[element].length = hd_len;
|
||||
buffer->element[element].eflags = SBAL_EFLAGS_FIRST_FRAG;
|
||||
/* remember to free cache-allocated qeth_hdr: */
|
||||
|
@ -4746,10 +4747,10 @@ static void qeth_qdio_establish_cq(struct qeth_card *card,
|
|||
if (card->options.cq == QETH_CQ_ENABLED) {
|
||||
int offset = QDIO_MAX_BUFFERS_PER_Q *
|
||||
(card->qdio.no_in_queues - 1);
|
||||
for (i = 0; i < QDIO_MAX_BUFFERS_PER_Q; ++i) {
|
||||
in_sbal_ptrs[offset + i] = (struct qdio_buffer *)
|
||||
virt_to_phys(card->qdio.c_q->bufs[i].buffer);
|
||||
}
|
||||
|
||||
for (i = 0; i < QDIO_MAX_BUFFERS_PER_Q; i++)
|
||||
in_sbal_ptrs[offset + i] =
|
||||
card->qdio.c_q->bufs[i].buffer;
|
||||
|
||||
queue_start_poll[card->qdio.no_in_queues - 1] = NULL;
|
||||
}
|
||||
|
@ -4783,10 +4784,9 @@ static int qeth_qdio_establish(struct qeth_card *card)
|
|||
rc = -ENOMEM;
|
||||
goto out_free_qib_param;
|
||||
}
|
||||
for (i = 0; i < QDIO_MAX_BUFFERS_PER_Q; ++i) {
|
||||
in_sbal_ptrs[i] = (struct qdio_buffer *)
|
||||
virt_to_phys(card->qdio.in_q->bufs[i].buffer);
|
||||
}
|
||||
|
||||
for (i = 0; i < QDIO_MAX_BUFFERS_PER_Q; i++)
|
||||
in_sbal_ptrs[i] = card->qdio.in_q->bufs[i].buffer;
|
||||
|
||||
queue_start_poll = kcalloc(card->qdio.no_in_queues, sizeof(void *),
|
||||
GFP_KERNEL);
|
||||
|
@ -4807,11 +4807,11 @@ static int qeth_qdio_establish(struct qeth_card *card)
|
|||
rc = -ENOMEM;
|
||||
goto out_free_queue_start_poll;
|
||||
}
|
||||
|
||||
for (i = 0, k = 0; i < card->qdio.no_out_queues; ++i)
|
||||
for (j = 0; j < QDIO_MAX_BUFFERS_PER_Q; ++j, ++k) {
|
||||
out_sbal_ptrs[k] = (struct qdio_buffer *)virt_to_phys(
|
||||
card->qdio.out_qs[i]->bufs[j]->buffer);
|
||||
}
|
||||
for (j = 0; j < QDIO_MAX_BUFFERS_PER_Q; j++, k++)
|
||||
out_sbal_ptrs[k] =
|
||||
card->qdio.out_qs[i]->bufs[j]->buffer;
|
||||
|
||||
memset(&init_data, 0, sizeof(struct qdio_initialize));
|
||||
init_data.cdev = CARD_DDEV(card);
|
||||
|
@ -5289,7 +5289,7 @@ next_packet:
|
|||
offset = 0;
|
||||
}
|
||||
|
||||
hdr = element->addr + offset;
|
||||
hdr = phys_to_virt(element->addr) + offset;
|
||||
offset += sizeof(*hdr);
|
||||
skb = NULL;
|
||||
|
||||
|
@ -5388,7 +5388,7 @@ use_skb:
|
|||
walk_packet:
|
||||
while (skb_len) {
|
||||
int data_len = min(skb_len, (int)(element->length - offset));
|
||||
char *data = element->addr + offset;
|
||||
char *data = phys_to_virt(element->addr) + offset;
|
||||
|
||||
skb_len -= data_len;
|
||||
offset += data_len;
|
||||
|
|
|
@ -2510,7 +2510,7 @@ void zfcp_fsf_reqid_check(struct zfcp_qdio *qdio, int sbal_idx)
|
|||
for (idx = 0; idx < QDIO_MAX_ELEMENTS_PER_BUFFER; idx++) {
|
||||
|
||||
sbale = &sbal->element[idx];
|
||||
req_id = (unsigned long) sbale->addr;
|
||||
req_id = sbale->addr;
|
||||
fsf_req = zfcp_reqlist_find_rm(adapter->req_list, req_id);
|
||||
|
||||
if (!fsf_req) {
|
||||
|
|
|
@ -98,7 +98,7 @@ static void zfcp_qdio_int_resp(struct ccw_device *cdev, unsigned int qdio_err,
|
|||
memset(pl, 0,
|
||||
ZFCP_QDIO_MAX_SBALS_PER_REQ * sizeof(void *));
|
||||
sbale = qdio->res_q[idx]->element;
|
||||
req_id = (u64) sbale->addr;
|
||||
req_id = sbale->addr;
|
||||
scount = min(sbale->scount + 1,
|
||||
ZFCP_QDIO_MAX_SBALS_PER_REQ + 1);
|
||||
/* incl. signaling SBAL */
|
||||
|
@ -199,7 +199,7 @@ int zfcp_qdio_sbals_from_sg(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req,
|
|||
q_req->sbal_number);
|
||||
return -EINVAL;
|
||||
}
|
||||
sbale->addr = sg_virt(sg);
|
||||
sbale->addr = sg_phys(sg);
|
||||
sbale->length = sg->length;
|
||||
}
|
||||
return 0;
|
||||
|
@ -418,7 +418,7 @@ int zfcp_qdio_open(struct zfcp_qdio *qdio)
|
|||
sbale->length = 0;
|
||||
sbale->eflags = SBAL_EFLAGS_LAST_ENTRY;
|
||||
sbale->sflags = 0;
|
||||
sbale->addr = NULL;
|
||||
sbale->addr = 0;
|
||||
}
|
||||
|
||||
if (do_QDIO(cdev, QDIO_FLAG_SYNC_INPUT, 0, 0, QDIO_MAX_BUFFERS_PER_Q))
|
||||
|
|
|
@ -122,14 +122,14 @@ void zfcp_qdio_req_init(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req,
|
|||
% QDIO_MAX_BUFFERS_PER_Q;
|
||||
|
||||
sbale = zfcp_qdio_sbale_req(qdio, q_req);
|
||||
sbale->addr = (void *) req_id;
|
||||
sbale->addr = req_id;
|
||||
sbale->eflags = 0;
|
||||
sbale->sflags = SBAL_SFLAGS0_COMMAND | sbtype;
|
||||
|
||||
if (unlikely(!data))
|
||||
return;
|
||||
sbale++;
|
||||
sbale->addr = data;
|
||||
sbale->addr = virt_to_phys(data);
|
||||
sbale->length = len;
|
||||
}
|
||||
|
||||
|
@ -152,7 +152,7 @@ void zfcp_qdio_fill_next(struct zfcp_qdio *qdio, struct zfcp_qdio_req *q_req,
|
|||
BUG_ON(q_req->sbale_curr == qdio->max_sbale_per_sbal - 1);
|
||||
q_req->sbale_curr++;
|
||||
sbale = zfcp_qdio_sbale_curr(qdio, q_req);
|
||||
sbale->addr = data;
|
||||
sbale->addr = virt_to_phys(data);
|
||||
sbale->length = len;
|
||||
}
|
||||
|
||||
|
|
|
@ -805,15 +805,6 @@ static struct ctl_table kern_table[] = {
|
|||
.extra2 = &maxolduid,
|
||||
},
|
||||
#ifdef CONFIG_S390
|
||||
#ifdef CONFIG_MATHEMU
|
||||
{
|
||||
.procname = "ieee_emulation_warnings",
|
||||
.data = &sysctl_ieee_emulation_warnings,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = proc_dointvec,
|
||||
},
|
||||
#endif
|
||||
{
|
||||
.procname = "userprocess_debug",
|
||||
.data = &show_unhandled_signals,
|
||||
|
|
Загрузка…
Ссылка в новой задаче