Skip to content

Make cursor behave better when dealing with multiple levels and extreme positions #185

@aneeshdurg

Description

@aneeshdurg

Feature Description

// TODO(aneesh): We need to ensure that we don't jump all the way to the end of the addr
        // space, which find_next_impl will do if we don't have the -1 below. In theory it shouldn't
        // matter, and the jump below should reset the state, but if it jumps all the way to the end
        // of addr space move_forward (called by find_next_impl) will not bump the level, and jump
        // will try to decrement the level because it thinks it's in the next "node". The cursor API
        // is a bit messy around how it handles levels - move_forward is right to not bump the
        // level, but it's hard for jump to tell if it should change the level or not.
        let get_remaining_len = |va: Vaddr| (end - va - 1).align_down(page_size::<C>(1));

Problem or Need

Suggested Implementation

Possible Alternatives

Additional Context and Screenshots

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions