setup_qp_page_tables(9)
π setup_qp_page_tables(9) β like, the Kernel API Manual entry, bestie
okay so picture this: it's a (9) page in the Kernel API Manual, the star of the show is setup_qp_page_tables, and it lives in ./drivers/scsi/bnx2i. she's giving niche-but-iconic, and honestly? we're obsessed. let's get into it π«Ά
β¨ NAME β¨
setup_qp_page_tables β the iscsi QP page table setup function. literally her whole thing. no notes. π
πΈ SYNOPSIS πΈ
void setup_qp_page_tables (struct bnx2i_endpoint *ep );
that's it. that's the whole signature. one arg, void return, main character energy only β¨
π ARGUMENTS π
epβ the endpoint (transport identifier) structure. that's your girl right there, the transport identifier herself π
π¦ DESCRIPTION π¦
so what does she do? she sets up page tables for SQ/RQ/CQ. yes, all three, no crumbs left. π
and here's where it gets spicy β the endianness is not one-size-fits-all, bestie:
- 1G/sec devices (
5706/5708/5709) require a 64-bit address in big endian format π₯ - 10G/sec (
57710) requires the PT in little endian format π
so fr fr, know your device before you go flipping bytes around. the 1G girls and the 10G girl are simply not built the same, and that's on periodt.
π SEE ALSO π
the whole friend group, and we're listing every single one because nobody gets left behind π«Ά. and yeah, the kernel file ./drivers/scsi/bnx2i/bnx2i_hwi.c is where the lore lives:
bnx2i_get_cid_num(9)bnx2i_adjust_qp_size(9)bnx2i_get_link_state(9)bnx2i_iscsi_license_error(9)bnx2i_arm_cq_event_coalescing(9)bnx2i_get_rq_buf(9)bnx2i_put_rq_buf(9)bnx2i_ring_sq_dbell(9)bnx2i_ring_dbell_update_sq_params(9)bnx2i_send_iscsi_login(9)bnx2i_send_iscsi_tmf(9)bnx2i_send_iscsi_text(9)bnx2i_send_iscsi_scsicmd(9)bnx2i_send_iscsi_nopout(9)bnx2i_send_iscsi_logout(9)bnx2i_update_iscsi_conn(9)bnx2i_ep_ofld_timer(9)bnx2i_send_cmd_cleanup_req(9)bnx2i_send_conn_destroy(9)bnx2i_570x_send_conn_ofld_req(9)bnx2i_5771x_send_conn_ofld_req(9)bnx2i_send_conn_ofld_req(9)bnx2i_alloc_qp_resc(9)bnx2i_free_qp_resc(9)bnx2i_send_fw_iscsi_init_msg(9)bnx2i_process_scsi_cmd_resp(9)bnx2i_process_login_resp(9)bnx2i_process_text_resp(9)bnx2i_process_tmf_resp(9)bnx2i_process_logout_resp(9)bnx2i_process_nopin_local_cmpl(9)bnx2i_unsol_pdu_adjust_rq(9)bnx2i_process_nopin_mesg(9)bnx2i_process_async_mesg(9)bnx2i_process_reject_mesg(9)bnx2i_process_cmd_cleanup_resp(9)bnx2i_percpu_io_thread(9)bnx2i_queue_scsi_cmd_resp(9)bnx2i_process_new_cqes(9)bnx2i_fastpath_notification(9)bnx2i_process_update_conn_cmpl(9)bnx2i_recovery_que_add_conn(9)bnx2i_process_tcp_error(9)bnx2i_process_iscsi_error(9)bnx2i_process_conn_destroy_cmpl(9)bnx2i_process_ofld_cmpl(9)bnx2i_indicate_kcqe(9)bnx2i_indicate_netevent(9)bnx2i_cm_connect_cmpl(9)bnx2i_cm_close_cmpl(9)bnx2i_cm_abort_cmpl(9)bnx2i_cm_remote_close(9)bnx2i_cm_remote_abort(9)bnx2i_map_ep_dbell_regs(9)
fifty-four icons. a whole squad. iykyk π
and that's the page, bestie β sourced from ./drivers/scsi/bnx2i, dated October 2026. mwah, go set up those page tables, slay ππβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms