Struct x86_64::PhysAddr [] [src]

#[repr(C)]
pub struct PhysAddr(_);

A 64-bit physical memory address.

This is a wrapper type around an u64, so it is always 8 bytes, even when compiled on non 64-bit systems. The UsizeConversions trait can be used for performing conversions between u64 and usize.

On x86_64, only the 52 lower bits of a physical address can be used. The top 12 bits need to be zero. This type guarantees that it always represents a valid physical address.

Methods

impl PhysAddr
[src]

[src]

Creates a new physical address.

Panics if a bit in the range 52 to 64 is set.

[src]

Tries to create a new physical address.

Fails if any bits in the range 52 to 64 are set.

[src]

Converts the address to an u64.

[src]

Convenience method for checking if a physical address is null.

[src]

Aligns the physical address upwards to the given alignment.

See the align_up function for more information.

[src]

Aligns the physical address downwards to the given alignment.

See the align_down function for more information.

Trait Implementations

impl Clone for PhysAddr
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl Copy for PhysAddr
[src]

impl PartialEq for PhysAddr
[src]

[src]

This method tests for self and other values to be equal, and is used by ==. Read more

[src]

This method tests for !=.

impl Eq for PhysAddr
[src]

impl PartialOrd for PhysAddr
[src]

[src]

This method returns an ordering between self and other values if one exists. Read more

[src]

This method tests less than (for self and other) and is used by the < operator. Read more

[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl Ord for PhysAddr
[src]

[src]

This method returns an Ordering between self and other. Read more

1.22.0
[src]

Compares and returns the maximum of two values. Read more

1.22.0
[src]

Compares and returns the minimum of two values. Read more

impl Debug for PhysAddr
[src]

[src]

Formats the value using the given formatter.

impl Binary for PhysAddr
[src]

[src]

Formats the value using the given formatter.

impl LowerHex for PhysAddr
[src]

[src]

Formats the value using the given formatter.

impl Octal for PhysAddr
[src]

[src]

Formats the value using the given formatter.

impl UpperHex for PhysAddr
[src]

[src]

Formats the value using the given formatter.

impl Add<u64> for PhysAddr
[src]

The resulting type after applying the + operator.

[src]

Performs the + operation.

impl AddAssign<u64> for PhysAddr
[src]

[src]

Performs the += operation.

impl Sub<u64> for PhysAddr
[src]

The resulting type after applying the - operator.

[src]

Performs the - operation.

impl SubAssign<u64> for PhysAddr
[src]

[src]

Performs the -= operation.

impl Sub<PhysAddr> for PhysAddr
[src]

The resulting type after applying the - operator.

[src]

Performs the - operation.

impl Step for PhysAddr
[src]

[src]

🔬 This is a nightly-only experimental API. (step_trait)

likely to be replaced by finer-grained traits

Returns the number of steps between two step objects. The count is inclusive of start and exclusive of end. Read more

[src]

🔬 This is a nightly-only experimental API. (step_trait)

likely to be replaced by finer-grained traits

Replaces this step with 1, returning itself

[src]

🔬 This is a nightly-only experimental API. (step_trait)

likely to be replaced by finer-grained traits

Replaces this step with 0, returning itself

[src]

🔬 This is a nightly-only experimental API. (step_trait)

likely to be replaced by finer-grained traits

Adds one to this step, returning the result

[src]

🔬 This is a nightly-only experimental API. (step_trait)

likely to be replaced by finer-grained traits

Subtracts one to this step, returning the result

[src]

🔬 This is a nightly-only experimental API. (step_trait)

likely to be replaced by finer-grained traits

Add an usize, returning None on overflow