Do i need to set up pmode before i load the kernel from the disk?
You can load your kernel either by
1) real mode bootloader,
2) protected mode bootloader.
In first case, you need to put [bits 16] in your kernel's ASM stub and do the whole pmode switch there. Be warned though, you must have a fully working GDT and IDT and the protected mode set up before you call the main() function!
In second case, set up your "final" GDT/IDT/ISRs, since the one from the pmode bootloader is just temporary (i think), then you can start your pascal kernel.
The other question is can i use pascal functions to set up my gdt and idt?
Theoretically yes, but use ASM routines for that, you'll get a faster code plus you'll avoid some number of strange bugs.
Really. - This applies only when your kernel is loaded by pmode bootloader!!! (When in real mode you need to set up pmode in asm.)
The last one is how do i jump from my boot loader into my kernel
When you have the protected mode fully set up, this can be done
extern Your_main_function
call Your_main_function
jmp $
like in brans kernel dev. Did you read the wiki?
And, anyways,
DON'T EVER THINK of using
THESE METHODS in borland pascal or in borland pascal kernel as you'll just mix up 16-bit again. You need to select if your kernel wants to be in real (B. pascal), or protected mode (FP 32-bit).
Plus, when you will be setting up gdt, idt and interrupt service routines: I suggest you code them in assembly.
You'll avoid a bunch of problems that way.
BTW set the compiler to the binary format. You can switch to MZ-EXE, PE or ELF when you'll understand what you can do and do not in free pascal (since it's not meant to develop a kernel, thus running without a OS underlying). You'll see quickly what you can't do in "standalone" free pascal

.
Regards
inflater