|
|
1.1 ! root 1: ppxxccooppyy() -- Memory-Manipulation Routine ! 2: ! 3: #iinncclluuddee <ssyyss/sseegg.hh> ! 4: ppxxccooppyy(_s_r_c, _d_e_s_t, _n_u_m__b_y_t_e_s, _f_l_a_g) ! 5: ppaaddddrr_tt _s_r_c; ! 6: vvaaddrr_tt _d_e_s_t; ! 7: uunnssiiggnneedd iinntt _n_u_m__b_y_t_e_s; ! 8: iinntt _f_l_a_g; ! 9: ! 10: Kernel function ppxxccooppyy() can be invoked in one of two forms. ! 11: ! 12: The first form copies _n_u_m__b_y_t_e_s from physical address _s_r_c into kernel data ! 13: virtual address _d_e_s_t. This form is selected by setting argument _f_l_a_g to ! 14: manifest constant SSEEGG_338866_KKDD. ! 15: ! 16: The second form copies _n_u_m__b_y_t_e_s from system global address _s_r_c to kernel ! 17: data virtual address _d_e_s_t. This form is selected by setting argument _f_l_a_g ! 18: to manifest constant SSEEGG_338866_KKDD|SSEEGG_VVIIRRTT. ! 19: ! 20: _N_o_t_e _w_e_l_l _t_h_a_t _n_u_m__b_y_t_e_s _m_u_s_t _b_e _l_e_s_s _t_h_a_n _o_r _e_q_u_a_l _t_o _4_K (_4_0_9_6) _b_y_t_e_s. ! 21: ! 22: No alignment restrictions are placed on _s_r_c or _d_e_s_t. ! 23: ! 24: _S_e_e _A_l_s_o ! 25: mmeemmoorryy-mmaanniippuullaattiioonn rroouuttiinneess
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.