Ejemplo n.º 1
0
void process_mmap(mboot_mmap_entry* entry, uint16_t* in_kernel) {

    uint64_t kernel_start = (uint64_t) text_phys_begin;
    uint64_t kernel_end = (uint64_t) bss_phys_end;
    uint64_t end_addr = entry->addr + entry->len - 1;

    if(!(*in_kernel)) {
        if(end_addr < kernel_start || entry->addr >= kernel_end) {
            if(mmap_size == 0 && entry->addr >= kernel_end) {
                add_kernel();
            }

            mmap[mmap_size].addr = entry->addr;
            mmap[mmap_size].len = entry->len;
            mmap[mmap_size].type = entry->type;
            ++mmap_size;
            return;
        }

        mmap[mmap_size].addr = entry->addr;
        mmap[mmap_size].len = kernel_start - entry->addr;
        mmap[mmap_size].type = entry->type;
        ++mmap_size;

        add_kernel();

        *in_kernel = 1;

        if(end_addr < kernel_end) {
            return;
        }

        mmap[mmap_size].addr = kernel_end;
        mmap[mmap_size].len = end_addr - kernel_end;
        mmap[mmap_size].type = entry->type;
        ++mmap_size;

        *in_kernel = 0;
        return;
    }

    if(end_addr < kernel_end) {
        return;
    }

    mmap[mmap_size].addr = max_of(kernel_end, entry->addr);
    mmap[mmap_size].len = end_addr - mmap[mmap_size].addr;//kernel_end;
    mmap[mmap_size].type = entry->type;
    ++mmap_size;

    *in_kernel = 0;
    return;

}
Ejemplo n.º 2
0
bool
CLTnrImageHandler::set_tnr_kernel(SmartPtr<CLTnrImageKernel> &kernel)
{
    SmartPtr<CLImageKernel> image_kernel = kernel;
    add_kernel (image_kernel);
    _tnr_kernel = kernel;
    return true;
}
Ejemplo n.º 3
0
bool
CLGammaImageHandler::set_gamma_kernel(SmartPtr<CLGammaImageKernel> &kernel)
{
    SmartPtr<CLImageKernel> image_kernel = kernel;
    add_kernel (image_kernel);
    _gamma_kernel = kernel;
    return true;
}
Ejemplo n.º 4
0
bool
CLRgbPipeImageHandler::set_rgb_pipe_kernel(SmartPtr<CLRgbPipeImageKernel> &kernel)
{
    SmartPtr<CLImageKernel> image_kernel = kernel;
    add_kernel (image_kernel);
    _rgb_pipe_kernel = kernel;
    return true;
}
bool
CLNewTonemappingImageHandler::set_tonemapping_kernel(SmartPtr<CLNewTonemappingImageKernel> &kernel)
{
    SmartPtr<CLImageKernel> image_kernel = kernel;
    add_kernel (image_kernel);
    _tonemapping_kernel = kernel;
    return true;
}
Ejemplo n.º 6
0
bool
CLBayerBasicImageHandler::set_bayer_kernel (SmartPtr<CLBayerBasicImageKernel> &kernel)
{
    SmartPtr<CLImageKernel> image_kernel = kernel;
    add_kernel (image_kernel);
    _bayer_kernel = kernel;
    return true;
}
Ejemplo n.º 7
0
void vadd(double* dst, double* src1, double* src2, int n)
{
#if 0
    dbrew_apply4_R8V8V8(add_kernel, dst, src1, src2);
#else
    while(n>3) {
        dbrew_apply4_R8V8V8(add_kernel, dst, src1, src2);
        dst += 4;
        src1 += 4;
        src2 += 4;
        n -= 4;
    }
    while(n>0) {
        *dst++ = add_kernel(*src1++, *src2++);
        n--;
    }
#endif
}