kernel/arch/x86_64/src/sched/ThreadState.h
/**
     * Removes an IO port range from the IO allow list.
     *
     * @note This call is allowed after the access bitmap has been locked.
     *
     * @param base First IO port address
     * @param len Number of subsequent IO port addresses to remove from list
     *
     * @return Whether the IO port range was removed from the allow list
     */
Removes an IO port range from the IO allow list.
@note This call is allowed after the access bitmap has been locked.

@param base First IO port address
@param len Number of subsequent IO port addresses to remove from list

@return Whether the IO port range was removed from the allow list
Removes an IO port range from the IO allow list . @note This call is allowed after the access bitmap has been locked . @param base First IO port address @param len Number of subsequent IO port addresses to remove from list @return Whether the IO port range was removed from the allow list
bool disallowIoRange(const uint16_t base, const uint16_t len) {
        if(!this->ioBitmap) return false;
        else if(!len) return false;
        else if((static_cast<size_t>(base) + static_cast<size_t>(len)) > UINT16_MAX) return false;
        for(size_t i = base; i < (base + len); i++) {
            this->ioBitmap[i / 8] &= ~(1 << (i % 8));
        }
        return true;
    }
bool disallowIoRange ( const uint16_t base , const uint16_t len ) { if ( ! this -> ioBitmap ) return false ; else if ( ! len ) return false ; else if ( ( static_cast < size_t > ( base ) + static_cast < size_t > ( len ) ) > UINT16_MAX ) return false ; for ( size_t i = base ; i < ( base + len ) ; i ++ ) { this -> ioBitmap [ i / 8 ] &= ~ ( 1 << ( i % 8 ) ) ; } return true ; }
Removes an IO port range from the IO allow list.
Removes an IO port range from the IO allow list .
// validate inputs // mark as prohibited (mask off bit)