iPXE
|
Optimised string operations. More...
Go to the source code of this file.
Functions | |
FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
void * | __memcpy (void *dest, const void *src, size_t len) |
void * | __memcpy_reverse (void *dest, const void *src, size_t len) |
static | __attribute__ ((always_inline)) void *__constant_memcpy(void *dest |
Copy memory area (where length is a compile-time constant) More... | |
union { | |
uint32_t u32 [2] | |
uint16_t u16 [4] | |
uint8_t u8 [8] | |
} | __attribute__ ((__may_alias__)) *src_u |
switch (len) | |
if (len >=26) return __memcpy(dest | |
if (__builtin_constant_p(offset)) | |
__asm__ | __volatile__ ("rep stosb" :"=&D"(discard_D), "=&c"(discard_c) :"0"(dest), "1"(len), "a"(fill) :"memory") |
Variables | |
static const void * | src |
static const void size_t | len |
const void * | esi = src |
void * | edi = dest |
if(len >=6 *4) __asm__ __volatile__("movsl" if(len >=5 *4) __asm__ __volatile__("movsl" if(len >=4 *4) __asm__ __volatile__("movsl" if(len >=3 *4) __asm__ __volatile__("movsl" if(len >=2 *4) __asm__ __volatile__("movsl" if(len >=1 *4) __asm__ __volatile__("movsl" if((len % 4) >=2) __asm__ __volatile__("movsw" if((len % 2) >=1) __asm__ __volatile__("movsb" return | dest |
else | |
static int | fill |
size_t | discard_c |
uint32_t | eax = 0 |
Optimised string operations.
Definition in file string.h.
FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
void* __memcpy | ( | void * | dest, |
const void * | src, | ||
size_t | len | ||
) |
Referenced by __memmove().
void* __memcpy_reverse | ( | void * | dest, |
const void * | src, | ||
size_t | len | ||
) |
Referenced by __memmove(), and if().
|
inlinestatic |
Copy memory area (where length is a compile-time constant)
Fill memory region with zero (where length is a compile-time constant)
Fill memory region.
Copy (possibly overlapping) memory area.
Copy memory area.
dest | Destination address |
src | Source address |
len | Length |
dest | Destination address |
dest | Destination address |
fill | Fill pattern |
len | Length |
dest | Destination address |
dest | Destination address |
len | Length |
dest | Destination address |
const union @448 __attribute__ | ( | (__may_alias__) | ) |
switch | ( | len | ) |
Definition at line 61 of file string.h.
References dest.
Referenced by bnxt_hwrm_port_phy_cfg().
if | ( | len >= | 26 | ) |
if | ( | __builtin_constant_p(offset) | ) |
Definition at line 188 of file string.h.
References __memcpy_reverse(), dest, len, memcpy(), offset, and src.
__asm__ __volatile__ | ( | ) |
static __always_inline void off_t userptr_t src |
Definition at line 47 of file string.h.
Referenced by __attribute__(), __memmove(), aes_decrypt(), aes_encrypt(), aes_unwrap(), aes_wrap(), arc4_skip(), arc4_xor(), bnxt_add_vlan(), bnxt_get_pkt_vlan(), bzimage_parse_header(), cbc_decrypt(), cbc_encrypt(), cbc_xor(), ccmp_ctr_xor(), cipher_decrypt(), cipher_encrypt(), cipher_null_decrypt(), cipher_null_encrypt(), copy_to_real(), crc32_le(), des_decrypt(), des_encrypt(), dhcpv6_rx(), dns_copy(), ecb_decrypt(), ecb_encrypt(), efi_paths(), efi_pxe_udp_write(), efi_undi_fill_header(), efi_undi_receive(), eth_pio_read(), eth_pio_write(), exanic_transmit(), fbcon_draw(), fc_els_rx(), fc_xchg_rx(), gcc_implicit_memcpy(), gcm_decrypt(), gcm_encrypt(), gcm_process(), gcm_xor_block(), gdbstub_from_hex_buf(), gdbstub_to_hex_buf(), generic_memcpy(), generic_memcpy_reverse(), generic_memmove(), hv_wait_for_message(), if(), ipv4_rx(), ipv6_route_okx(), ipv6_rx(), ipv6_tx(), memchr(), memcpy_0(), memcpy_1(), memcpy_10(), memcpy_11(), memcpy_12(), memcpy_13(), memcpy_14(), memcpy_15(), memcpy_16(), memcpy_17(), memcpy_18(), memcpy_19(), memcpy_2(), memcpy_20(), memcpy_21(), memcpy_22(), memcpy_23(), memcpy_24(), memcpy_25(), memcpy_26(), memcpy_27(), memcpy_28(), memcpy_29(), memcpy_3(), memcpy_30(), memcpy_31(), memcpy_4(), memcpy_5(), memcpy_6(), memcpy_7(), memcpy_8(), memcpy_9(), memcpy_test_speed(), memcpy_var(), mschapv2_expand_hash(), nii_sync(), shuffle(), stpcpy(), strcat(), strchr(), strcpy(), strdup(), string_copy(), string_test_exec(), strlen(), strncpy(), strndup(), strnlen(), strrchr(), udp_tx(), uri_copy_fields(), and usb_settings_fetch().
len |
Definition at line 47 of file string.h.
Referenced by if().
esi = src |
Definition at line 58 of file string.h.
Referenced by __attribute__().
void * edi = dest |
Definition at line 59 of file string.h.
Referenced by __attribute__().
return dest |
Definition at line 150 of file string.h.
Referenced by __attribute__(), __memmove(), a3c90x_internal_ReadEeprom(), acpi_describe(), aes_unwrap(), aes_wrap(), arbel_fill_mlx_send_wqe(), arbel_fill_ud_send_wqe(), arbel_post_send(), ata_command(), bigint_copy_sample(), bigint_grow_sample(), bigint_shrink_sample(), block_capacity(), block_read(), block_read_capacity(), block_write(), bzimage_load_initrds(), ccmp_ctr_xor(), copy_encap_settings(), copy_from_real(), copy_from_real_libkir(), copy_from_user(), copy_settings(), copy_to_user(), dmfe_transmit(), edd_describe(), efi_describe(), efi_pxe_udp_write(), efi_undi_fill_header(), efi_undi_receive(), elf_load_segment(), elf_segment(), elfboot_check_segment(), eth_transmit(), fc_els_rx(), fc_els_tx(), fc_xchg_rx(), fc_xchg_tx(), gcc_implicit_memcpy(), gcc_implicit_memset(), generic_memcpy(), generic_memcpy_reverse(), generic_memmove(), generic_memset(), hermon_fill_mlx_send_wqe(), hermon_fill_ud_send_wqe(), hermon_post_send(), ib_complete_recv(), ib_post_send(), ib_pull(), ib_push(), ibft_alloc_string(), ibft_set_string(), ibft_set_string_setting(), identify_device(), if(), inet6_ntoa(), intf_close(), intf_get_dest_op_no_passthru_untyped(), intf_get_dest_op_untyped(), intf_insert(), intf_plug(), intf_poke(), ipoib_complete_recv(), ipoib_transmit(), ipv4_netdev(), ipv4_route(), ipv4_rx(), ipv6_netdev(), ipv6_route(), ipv6_route_okx(), ipv6_rx(), job_progress(), linda_complete_recv(), linda_post_send(), memcpy_0(), memcpy_1(), memcpy_10(), memcpy_11(), memcpy_12(), memcpy_13(), memcpy_14(), memcpy_15(), memcpy_16(), memcpy_17(), memcpy_18(), memcpy_19(), memcpy_2(), memcpy_20(), memcpy_21(), memcpy_22(), memcpy_23(), memcpy_24(), memcpy_25(), memcpy_26(), memcpy_27(), memcpy_28(), memcpy_29(), memcpy_3(), memcpy_30(), memcpy_31(), memcpy_4(), memcpy_5(), memcpy_6(), memcpy_7(), memcpy_8(), memcpy_9(), memcpy_test_speed(), memcpy_var(), memset_var(), memset_zero_0(), memset_zero_1(), memset_zero_10(), memset_zero_11(), memset_zero_12(), memset_zero_13(), memset_zero_14(), memset_zero_15(), memset_zero_16(), memset_zero_17(), memset_zero_18(), memset_zero_19(), memset_zero_2(), memset_zero_20(), memset_zero_21(), memset_zero_22(), memset_zero_23(), memset_zero_24(), memset_zero_25(), memset_zero_26(), memset_zero_27(), memset_zero_28(), memset_zero_29(), memset_zero_3(), memset_zero_30(), memset_zero_31(), memset_zero_4(), memset_zero_5(), memset_zero_6(), memset_zero_7(), memset_zero_8(), memset_zero_9(), nbi_load_segment(), nbi_prepare_segment(), nbi_process_segments(), net80211_tx_mgmt(), peerdisc_stat(), pxenv_udp_write(), qib7322_complete_recv(), qib7322_post_send(), resize_dhcp_option(), resolv_done(), scsi_command(), scsi_response(), shuffle(), stpcpy(), strcat(), strcpy(), string_copy(), string_test_exec(), strncpy(), switch(), tcp_process_tx_queue(), tls_cipherstream_deliver(), trivial_memcpy_user(), trivial_memmove_user(), udp_tx(), uri_copy_fields(), weierstrass_exec(), xfer_alloc_iob(), xfer_buffer(), xfer_deliver(), xfer_vredirect(), xfer_window(), xhci_enqueue(), and xsigo_xds_complete().
else |
static int fill |
Definition at line 208 of file string.h.
Referenced by ehci_ring_fill(), ehci_ring_remaining(), memset_var(), net80211_probe_step(), uhci_ring_fill(), uhci_ring_remaining(), usb_prefill(), usbio_endpoint_enqueue(), usbio_interrupt_callback(), usbkbd_fill(), usbkbd_iskey(), vmbus_send(), vmxnet3_transmit(), xenstore_recv(), xenstore_send(), and xhci_ring_remaining().
eax = 0 |
Definition at line 234 of file string.h.
Referenced by com32_cfarcall().