00:00:00 --- log: started osdev/03.10.06 00:01:14 --- join: trans (sjzmtk@fatwire-201-147.uniserve.ca) joined #osdev 00:01:15 --- quit: jaf (Read error: 104 (Connection reset by peer)) 00:13:40 --- quit: witten ("Client exiting") 00:15:13 --- join: witten (~witten@adsl-gte-la-216-86-199-140.mminternet.com) joined #osdev 00:19:33 --- quit: CLxyz (Read error: 104 (Connection reset by peer)) 00:31:58 --- quit: trans (Read error: 110 (Connection timed out)) 00:46:45 --- quit: Prophet_ (Remote closed the connection) 01:33:30 --- join: jaf (~jaf@200.146.65.87.adsl.gvt.net.br) joined #osdev 01:38:32 --- join: eniac (~jonasg@241.199-136-217.adsl.skynet.be) joined #osdev 01:59:52 --- join: mur (~mur@kyberias.uiah.fi) joined #osdev 01:59:53 --- quit: jaf (Read error: 104 (Connection reset by peer)) 01:59:56 hello 02:01:23 --- join: trans (fnhzzi@fatwire-201-147.uniserve.ca) joined #osdev 02:01:32 --- join: gab (~prfalken@nas-p19-3-62-147-223-240.dial.proxad.net) joined #osdev 02:01:52 trans gab 02:04:34 hey 02:06:00 eniac 02:07:40 I so hate vb 02:08:08 me too 02:08:15 luckily i havenät had to use it ever 02:08:28 I'm not that fortune 02:23:46 --- nick: mur -> mur_away 02:23:54 i'll leave shell detached 02:23:59 it may die or not 02:28:28 --- join: CLxyz (CLxyz@209.53.54.1) joined #osdev 02:33:48 --- join: kyelewis (~kye@dsl-217.66.240.220.lns02-dryb-mel.dsl.comindico.com.au) joined #osdev 02:33:50 heyas 02:34:03 amazing what one can find on old file backup CD's :) 02:35:27 like ? 02:35:38 heaps of stuff... my old websites... old school work 02:35:50 I never take backups 02:36:02 on this CD i found sound and picture captures from the TV of the sydney 2000 olympic opening ceremony 02:36:27 lol 02:37:44 most of these picture captures put together could create an entire video 02:37:52 that's how often i pressed "capture" :P 02:39:08 --- quit: trans (Read error: 110 (Connection timed out)) 02:42:21 arggh 2hours of the stupid vb language is killing me 02:42:26 lol 02:42:31 come on, it's not *that* bad :P 02:42:37 what are you trying to do with it anyway? 02:43:33 I'm in school 02:43:42 I have a class vb 02:44:05 ah 02:44:26 i tend to do the visual basic stuff that *needs* to be done in my class very quickly :P 02:44:32 so i can get on to other stuff 02:44:44 I can't do that 02:44:53 I'm still in high school everything goes sllllllllllllllllow 02:44:59 ? 02:45:04 so am i, your point being? 02:45:30 do you know visual basic? or not? 02:45:37 yes 02:45:49 but the teaching method in high school is slow 02:45:55 and you can't get around that 02:45:58 so what's the problem? how come you can't move ahead? 02:46:19 How would I get around it ? 02:46:27 i'm in high school too, and i have no problem, i just finish the vb work and do some C++ work or IRC or something :P 02:47:09 don't you have a teacher ? 02:47:12 kyelewis: where do you live ? 02:47:15 yes 02:47:19 melbourne, au 02:48:37 I think there's a huge difference in our school system 02:48:43 I hate it now 02:48:49 how so 02:48:53 I'm so bored all the time 02:48:56 everything is os easy 02:49:00 but in the end it's fuycking hard 02:49:04 i still don't understand why when the teacher says "do this" you can't do it and then do something else? 02:49:04 cause you never do shit 02:49:27 kyelewis: we'll talk later on the subject 02:49:30 class ends 02:49:32 have to go 02:49:39 fair enough... cya 02:49:43 maybe cause one class = 50minutes ? 02:49:48 --- quit: eniac ("hate school") 02:50:22 lol... well our classes used to go for 42min... so i still don't see the problem... unless the teacher is anoying or something 02:50:25 aaaanyway 03:00:03 --- quit: _Bradd_ () 03:00:23 --- join: mrMister (andry@klaki.net) joined #osdev 03:09:59 --- join: jaf (~jaf@200.146.65.87.adsl.gvt.net.br) joined #osdev 03:18:30 --- quit: mrMister ("gone") 03:44:49 --- join: SIS-1650-01 (~sis@as11-2-1.rny.s.bonet.se) joined #osdev 03:44:50 --- quit: jaf (Read error: 104 (Connection reset by peer)) 03:56:48 --- quit: CrayT3E (Remote closed the connection) 03:59:01 goodmorning world 04:00:31 heya 04:00:41 the world says hello :) 04:06:00 it's a little bit strange, the directory structure of an empty directory isn't ending with one zero direntries->name_len or direntries->inode entry 04:06:09 in ext2 04:07:37 at the moment i check whether the rec_len size is correct to end reading from this directory 04:07:39 hm 04:09:19 maybe i should fall back to indexed directories ... 04:18:07 coffee 04:18:26 coffee? :) 04:18:29 asm: if a directory's contents can be viewed as a file itself, then it has a length 04:18:33 --- join: trans (dnktem@fatwire-201-147.uniserve.ca) joined #osdev 04:18:36 asm: no need to rely on zero-entries 04:19:00 kyelewis: yes, I hate it. but it is functional. ever heard of 'functional food'? ;) 04:20:00 --- join: CrayT3E (~CrayT3E@finsler.math.uoa.gr) joined #osdev 04:20:12 lol 04:20:13 not really :P 04:22:03 debug; assuming the size of the directory size can be found in inode->i_size, thus it's equal to the blocksize 1024 / 4096 / n whatever ... 04:22:42 but not only directory in real has got exactly the size of one block 04:22:55 s/not only/no 04:23:34 implausible ... 04:23:40 hm 04:26:26 --- quit: geist (leguin.freenode.net irc.freenode.net) 04:26:26 --- quit: Odin- (leguin.freenode.net irc.freenode.net) 04:29:56 ggaaah 04:29:59 * debug found a bug 04:30:36 --- join: geist (~geist@tkgeisel.com) joined #osdev 04:30:48 gmorning geist 04:33:20 --- join: Odin- (~sbkhh@adsl-2-216.du.snerpa.is) joined #osdev 04:33:20 --- mode: zelazny.freenode.net set +b [*]!*@* 04:36:51 never trust the docs 04:37:25 heya geist 04:47:17 debug: that's so true 04:51:59 --- quit: Odin- (leguin.freenode.net irc.freenode.net) 04:54:49 --- join: demise (~e9o@c-8d4272d5.01-94-7673741.cust.bredbandsbolaget.se) joined #osdev 04:55:24 --- join: Odin- (~sbkhh@adsl-2-216.du.snerpa.is) joined #osdev 04:55:24 --- mode: zelazny.freenode.net set +b [*]!*@* 04:57:35 R4000's manual said "set the highest bit". just ORing in 0x80000000 caused weird bugs. setting the entire word to 0x80000000 however worked better 05:20:12 --- join: pengo (xtofu@p172-tnt2.mel.ihug.com.au) joined #osdev 05:24:35 --- join: draq (ident@203-219-179-14-nsw.tpgi.com.au) joined #osdev 05:31:08 --- join: petrusss (~petrusss@h178n2fls31o862.telia.com) joined #osdev 05:33:46 --- join: auto (~auto@174.80-202-49.nextgentel.com) joined #osdev 05:38:17 --- quit: trans (Read error: 110 (Connection timed out)) 06:05:06 --- quit: auto ("Client exiting") 06:05:11 --- join: auto (~auto@174.80-202-49.nextgentel.com) joined #osdev 06:12:54 --- quit: pengo ("I could develop a system that would make money obsolete, but it would only make me rich") 06:23:29 --- quit: draq (Remote closed the connection) 06:27:46 yay 06:27:57 * debug emulates pci bus detection 06:48:40 --- join: asdasfas (~petrusss@h178n2fls31o862.telia.com) joined #osdev 06:53:09 --- quit: petrusss (Read error: 60 (Operation timed out)) 06:57:39 --- join: trans (ksxnno@fatwire-201-147.uniserve.ca) joined #osdev 06:59:50 --- quit: zhware ("Lost terminal") 07:10:17 --- nick: mur_away -> mur 07:10:21 back 07:10:27 detaching works 07:22:22 --- join: kernel-panic (rewt@ANice-205-1-3-44.w81-53.abo.wanadoo.fr) joined #osdev 07:25:38 hello ppl 07:26:39 hello 07:29:58 world 07:32:06 --- join: eniac (~eniac@214.125-136-217.adsl.skynet.be) joined #osdev 07:32:32 kyelewis: hey ;) 07:33:06 kyelewis: if you're still interested I can give you some reasons 07:35:02 idle world! 07:35:12 kyelewis awake?! 07:35:40 it's 00.35 there 07:39:58 --- join: zhware (~zhware@219.101.239.126) joined #osdev 07:42:52 right australia 07:44:00 --- join: ide (~idle@208.27.0.52) joined #osdev 07:44:35 correct 07:44:38 the right australia 07:44:40 not fake one 07:44:49 --- quit: idle (Nick collision from services.) 07:44:55 --- nick: ide -> idle 07:45:05 ugh 07:45:07 ide :) 07:45:24 Nick collision from services? 07:45:27 hehe 07:45:34 too much idle 07:45:57 heh 07:46:40 yawn 07:46:48 i wonder if i shodl go to library and return this book 07:46:54 and hope it to be less crowded after taht 07:48:22 --- quit: dax ("Lost terminal") 07:49:19 --- join: dax (~dax@81.11.142.19) joined #osdev 07:52:12 mur: how is studying? (except exhausting) 07:52:21 did you learn something new yet? 07:53:48 i learn how to make articifial insects 07:53:57 from bluesticker 07:54:34 isn't that just cool? 07:55:39 uber 1337 08:03:51 --- quit: eniac (Remote closed the connection) 08:04:04 hm 08:06:34 i might take picture later this evening 08:06:40 once i connect camera to computer 08:26:57 --- quit: demise () 08:27:09 --- join: nullify (nullify@pool-141-153-191-148.mad.east.verizon.net) joined #osdev 08:45:49 --- quit: trans (Read error: 110 (Connection timed out)) 08:48:27 Hmmm 08:48:28 --- quit: asm ("ERC Version 4.0 $Revision: 1.567 $ (IRC client for Emacs)") 08:48:53 --- join: asm (~user@dsl-082-082-155-162.arcor-ip.net) joined #osdev 08:49:05 asm 08:50:18 yasm 08:50:29 mur, jidle 08:50:37 what's cracking ? 08:50:41 brain 08:50:45 stomach 08:58:19 away 08:58:26 bbl 09:01:52 --- join: redblue (star@ppp040.216-96-207.sherb.mt.videotron.ca) joined #osdev 09:13:41 --- join: mrMister (~andri@ti122110a080-1079.bb.online.no) joined #osdev 09:16:19 --- quit: nullify () 09:25:38 --- nick: dax -> even_lamer 09:25:42 --- nick: even_lamer -> dax 09:26:16 --- join: laptop (Compaq_Lap@82-37-105-161.cable.ubr02.sand.blueyonder.co.uk) joined #osdev 09:26:19 hi ppl 09:26:58 * mur imports pictures 09:27:12 i just had to put wire into mac and it works 09:27:22 lin to mac? 09:27:28 no camera to mac 09:27:32 no drivers required :) 09:28:13 prob like usb storage devices thats why no drivers required 09:28:26 neither for PTP 09:28:36 ptp? 09:28:45 but if you know real implementations you know that hardware is never standard 09:32:16 --- join: Prophet_ (~Prophet@pD9FF688C.dip.t-dialin.net) joined #osdev 09:39:24 --- quit: dax (Read error: 104 (Connection reset by peer)) 09:41:51 --- join: dax (~dax@81.11.142.19) joined #osdev 09:44:00 --- join: ned_ (~bc@cpe96.txcyber.com) joined #osdev 09:44:51 --- join: Dr_Evil (DSLflat@p508FF34E.dip.t-dialin.net) joined #osdev 09:45:16 I've written some C code that should write 0's to video memory (located at 0xb8000) to clear the screen...for some reason, the pointer isn't getting set to point to 0xb8000...could someone look at this paste and help me figure out why: http://www.rafb.net/paste/results/d1321210.html 09:45:25 the code on the top half is working code that's in my kernel 09:45:32 the bottom half is a function I'm trying to get to work. 09:50:40 --- join: Prophet__ (~Prophet@pD9FF65FD.dip.t-dialin.net) joined #osdev 09:53:48 ned_: check this doc out i made it may help as i wrote on the vid stuff 09:54:02 ned_: www.fordax.com\os\publish.htm 09:55:15 you say what? 09:55:18 why not / 10:01:04 --- quit: dax ("MATHS EVERYWHERE. WHIIIII!") 10:03:23 --- join: clovis (~clovis@lns-th2-3-82-64-35-19.adsl.proxad.net) joined #osdev 10:03:51 Hi, where can I find the 8139 Realtek driver? 10:04:00 --- nick: clovis -> Clovis 10:05:02 hmm 10:05:03 for linux 10:05:08 --- quit: Prophet_ (Read error: 110 (Connection timed out)) 10:05:11 it's rtl something 10:05:14 soory, driver/ datasheet 10:05:20 hehe 10:05:23 ask lodsb :) 10:05:39 why? 10:07:20 lodsb:so, do you know where can I find 8139 datasheet? 10:07:47 he's been coding driver iirc 10:08:09 he, me too 10:08:24 how do I do a pc-relative jmp in inline gcc at&t syntax? 10:08:30 * mur goes away for a unspecified time 10:09:04 auto : like jmp $labal? 10:09:16 s/labal/label 10:09:19 like jmp $+2 perhaps 10:09:21 going away for some time 10:09:22 bbl 10:09:29 ah! I just add a $ to the label? 10:09:40 that's the nasm way 10:09:42 --- nick: mur -> mur_afk 10:09:50 nice 10:10:17 gcc complains 10:10:39 auto: 10:10:47 or you do jmp label + offset 10:10:53 jmp $label\n \ 10:10:58 label: 10:11:05 hmm 10:11:08 Clovis, try this http://www.eltech.co.uk/products/pc104plus/em104p-lan100r.htm 10:11:23 I'll check it ouy 10:11:28 out 10:12:11 i'm using at&t syntax 10:12:42 past your code.. 10:13:29 __asm__ __volatile__ ( " 10:13:29 jmp function_start 10:13:29 nop; nop; nop; nop 10:13:29 function_start: 10:13:29 " ) ; 10:13:35 idle:no there's nothing in the datasheet... 10:14:24 just change jmp function_start to jmp $function_start 10:14:50 Error: suffix or operands invalid for `jmp' 10:15:18 when I do $function_start ^ 10:15:42 try ask it on #asm so. 10:16:09 already did. I's awfully quiet there :( 10:16:16 auto, what I do is simply write it in nasm and do objdump -d on it to get intel's syntax 10:16:44 --- join: trans (vaxuja@fatwire-201-147.uniserve.ca) joined #osdev 10:17:33 I'll try that. What is the intel syntax for the jump? 10:18:09 but if you rather learn it then: www.delorie.com/djgpp/doc/brennan/brennan_att_inline_digpp.html 10:18:20 auto: without $ !!! 10:18:40 with gas AT&T 10:18:59 nasm can understand jmp $+2 ie 10:19:01 blah 10:19:03 http://www.delorie.com/djgpp/doc/brennan/brennan_att_inline_djgpp.html 10:19:32 auto: ljmp (jmpf32 or jmp dword) uses $, $ 10:24:12 without the $, it looks very absolute in gdb. I'll google some more :-) 10:24:28 Clovis, there is RTL8019 on http://alexfru.narod.ru/emiscdocs.html 10:25:03 asm:where can I find the 8139 datasheet? 10:27:31 --- quit: ned_ ("ircII EPIC4-1.1.12 -- Are we there yet?") 10:28:47 idle:really? I can't find it! 10:28:57 back 10:29:56 its under network 10:30:26 Clovis: www.realtek.com.tw 10:32:46 hehe 10:33:22 thx idle & asm 10:47:17 --- quit: mur_afk ("zzzzz") 10:49:06 Is anyone interested in a correspondance with France? 10:50:09 Trainning periods are expensive and coders' spirit better ;) 10:50:19 huh... 10:50:30 you mean french coders have better spirit ? 10:50:39 no.. 10:51:55 coders' spirit is better than most of correspondance's 10:52:04 coders' spirit is better than most of correspondant's 10:53:27 How can I get the address of a PCI card registers? 10:54:23 Where is it mapped? 10:57:22 --- join: pr1 (~pr1@ras04.ras.SBG.AC.AT) joined #osdev 11:04:01 --- quit: laptop ("Leaving") 11:05:20 --- quit: trans (Read error: 110 (Connection timed out)) 11:10:44 --- join: gab_ (~prfalken@nas-p19-1-62-147-233-7.dial.proxad.net) joined #osdev 11:13:30 --- quit: gab (Nick collision from services.) 11:13:32 --- nick: gab_ -> gab 11:15:48 --- join: gab_ (~prfalken@nas-p19-3-62-147-220-202.dial.proxad.net) joined #osdev 11:17:29 --- quit: gab (Nick collision from services.) 11:17:33 --- nick: gab_ -> gab 11:19:44 --- join: pwet (sauron@ALagny-102-1-5-59.w81-48.abo.wanadoo.fr) joined #osdev 11:19:46 hi 11:37:27 --- nick: lodsb_ -> lynx 11:37:43 howdy pwet 11:38:22 hiya folks 11:47:42 --- quit: GTCoder (Remote closed the connection) 12:00:22 Howdy people! 12:00:34 bye all 12:00:38 --- quit: pwet ("Client exiting") 12:06:41 --- join: gianluca (~glguida@ppp-63-132.28-151.libero.it) joined #osdev 12:20:28 --- join: dax (~dax@81.11.142.19) joined #osdev 12:20:47 yay 12:23:52 dax: Jadzia, Ezri or Curzon? :P 12:29:08 daxy 12:33:28 --- join: trans (oujsva@fatwire-201-147.uniserve.ca) joined #osdev 12:33:44 Smari: moo? 12:33:50 lodda: :D 12:34:02 hmm i dumped gnome, it was a tad too memory hungry for me 12:37:08 --- quit: witten ("Client exiting") 12:51:30 --- quit: mrMister ("GONE!") 13:05:18 --- quit: SIS-1650-01 ("Klienten avslutas") 13:09:58 --- quit: trans (Read error: 110 (Connection timed out)) 13:12:52 --- quit: Hirogen2 (leguin.freenode.net irc.freenode.net) 13:12:53 --- join: Hirogen2 (jengelh@linux01.gwdg.de) joined #osdev 13:12:53 --- mode: vinge.freenode.net set +b [*]!*@* 13:12:53 --- quit: kyelewis (leguin.freenode.net irc.freenode.net) 13:12:53 --- quit: Boney (leguin.freenode.net irc.freenode.net) 13:15:03 --- join: Boney (~paul@m032-118.nv.iinet.net.au) joined #osdev 13:20:25 --- join: kyelewis (~kye@dsl-217.66.240.220.lns02-dryb-mel.dsl.comindico.com.au) joined #osdev 13:20:25 --- mode: jordan.freenode.net set +b [*]!*@* 13:32:07 --- part: CrayT3E left #osdev 13:48:28 --- join: witten (~witten@ip-64-32-131-193.dsl.lax.megapath.net) joined #osdev 13:51:31 --- join: newbs (~tumbler@ts1-illavl69.shawneelink.net) joined #osdev 14:01:50 --- join: jonasg (~jonasg@251-91.240.81.adsl.skynet.be) joined #osdev 14:07:53 --- quit: jonasg ("leaving") 14:20:38 --- join: CrayT3E (~CrayT3E@finsler.math.uoa.gr) joined #osdev 14:22:47 --- part: Clovis left #osdev 14:22:50 --- quit: auto (Read error: 60 (Operation timed out)) 14:32:19 --- quit: lynx (Read error: 110 (Connection timed out)) 14:32:26 --- join: GTCoder (~dan@r40h63.res.gatech.edu) joined #osdev 14:32:32 --- quit: GTCoder (Read error: 54 (Connection reset by peer)) 14:33:53 --- join: lynx (~lodsb@pD9544114.dip.t-dialin.net) joined #osdev 14:34:40 Do anyone know of any tutorial of how to set up exception and interrupt handling? 14:35:18 --- join: rhavyn (rhavyn@newcastle.devrandom.net) joined #osdev 14:35:41 asdasfas, osdever.net 14:35:49 asdasfas, also check topic links 14:36:16 I've searched through osdever.net 14:36:17 --- join: file (~file@mctn1-0248.nb.aliant.net) joined #osdev 14:36:30 its under tutotrials 14:36:34 yup 14:36:40 I've seen them. 14:36:51 then whats the problem 14:37:11 no comprehende ? heh 14:37:15 --- quit: Matzon () 14:37:25 hmm 14:37:27 --- join: jonasg (~jonasg@251-91.240.81.adsl.skynet.be) joined #osdev 14:37:57 There's one thing I can't get, and that's how the PIC's gonna find the ISR :/ 14:39:00 you mean remapping? 14:39:40 heh 14:39:46 hmm 14:40:03 you have lots of learning to do 14:40:53 are you going to vote tommorrow 14:42:30 no 14:42:41 I should, but it's all a big fuckup anyway 14:42:48 and I never registered to vote in CA 14:43:22 a shame 14:43:54 didn't want to get pulled into jury duty 14:44:16 --- part: gianluca left #osdev 14:44:26 but it's pretty inevitable, we're going to elect Arnold 14:44:27 sigh 14:44:28 hah 14:44:58 Is it a 2 year term 14:45:14 I think this recall is just for the remainder of Davis's term 14:45:23 which I forget how long, probably less than 2 14:45:47 Happy Birthday To Me! 14:45:53 I'd retire if I was beaten by a movie star 14:46:01 happy bday file 14:46:05 thx 14:46:43 a movie start with an accent 14:46:58 a movie start with an accent and not born in US 14:47:08 err star 14:49:26 --- join: trans (upxcag@fatwire-201-147.uniserve.ca) joined #osdev 14:49:55 --- quit: kyelewis (Read error: 110 (Connection timed out)) 14:54:39 file: are you finally a teenager? 14:54:53 I hope you're potty trained 14:55:00 hah 14:55:23 What are you doing on irc on birthday 14:55:33 --- quit: redblue (Read error: 104 (Connection reset by peer)) 14:55:47 no kidding 14:55:52 --- join: Matzon (Mazon@80.197.154.22) joined #osdev 14:56:06 ya, go watch some tv instead ;) 14:56:21 go play with your tinker toys 14:56:58 * file is 17! 14:57:06 months 14:58:33 --- quit: Matzon (Read error: 54 (Connection reset by peer)) 14:59:53 --- join: Matzon (Mazon@80.197.154.22) joined #osdev 15:00:11 good evening osdevers 15:00:22 good morning 15:00:33 happy birthday! 15:01:02 * debug cooks noodles 15:01:06 file's adult teeth are finally coming in, everyone congratulate him 15:01:26 hah adult teeth 15:01:51 * file bites geist 15:01:55 file can finally grow some facial hair 15:02:04 actually I have a goatee and soul patch 15:02:17 damn at 17 15:02:22 lucky you, we couldn't have anything interesting in high school 15:02:45 no facial hair, no long hair, no earrings (like I wanted one anyway) 15:02:58 the rural southern US is pretty scary 15:03:20 I'm suprised they didn't force us to wear cowboy boots and hat 15:03:21 should have threatened to terminate their network 15:03:33 what network? my high school seriously ran off a single apple 2 15:03:41 oh my 15:03:44 it did all of the scheduling, took days 15:04:45 * file frowns 15:05:34 of course this was a few years back. I graduated in 95 15:05:41 --- quit: Dr_Evil () 15:05:44 I'm sure they replaced it since then 15:05:51 --- join: Suid_ (~suid@ca-dibar-cuda1-c1b-122.anhmca.adelphia.net) joined #osdev 15:06:32 geist: with... NOVELL! 15:08:41 geist : do upper layers know that a packet in your stack can span over several entry nodes in your cbuffer? 15:09:06 doesnt' matter 15:09:15 they always reference the data via the cbuf api 15:09:32 i didnt look much into it, cuz i didnt have much time for it. 15:09:44 geist: the cbuffer aqpi makes it completely "linear" memory? 15:09:50 *a 15:09:59 right 15:10:03 --- join: Ricardo (Rico@node-c-75bb.a2000.nl) joined #osdev 15:10:18 but with the property that you can prepend and append data 15:10:30 and truncate from either end 15:10:40 geist: does that mean that your api does also stuff like LOAD directly? 15:10:48 hmm? 15:10:52 well 15:11:36 somehow the layers have to access the data, yes? do you have extra functions which are like a LOAD instruction? 15:11:58 like load(offset,varioable_to_store_to) 15:12:03 right 15:12:08 ok 15:12:22 basically copy_to(cbuf, offset, target_buf, len) 15:12:29 and copy_from(cbuf, offset, target_buf, len) 15:12:37 ah 15:12:39 or something like that 15:12:44 yeah, saw them, sorry 15:12:53 you can also take two cbufs and glue them together 15:13:00 yeah 15:13:10 you'll see that the stack does that as the protocol layers are prepended on 15:13:38 --- quit: Rico (Connection reset by peer) 15:13:46 geist : but that copy_* means also that you somewhere copy stuff from a to b, couldnt it be done more efficient? 15:13:56 --- nick: file[desk] -> abydos 15:14:07 efficiently 15:14:29 well, ideally it's only done in two places 15:14:57 the application "layer" and the link "layer" ? 15:14:58 from the user buffer to the cubf, and from the cbuf into the transmit staging area (or with a scatter gather ethernet interface, directly from the buffer) 15:15:07 rite. 15:15:25 my stack isn't terribly efficient, it does an extra copy on the way out 15:15:43 well, because i wasnt able to properly solve the riddle to really get around using some additional "copy" function 15:15:56 and the 8139 driver I have is really inefficient, because it's a stupid card 15:16:05 :P 15:16:59 but a good zero copy stack would also support each cbuf having ref counts on ranges of it's data 15:17:35 * debug likes the idea of zero-copy 15:17:57 on the outgoing path, the data would be copied from the user stack (can't really get out of this really easy) into a cbuf that has all of the pending/unacked outgoing data 15:18:00 which my stack does 15:18:21 ok 15:18:26 but in a zero copy, you could create new cbufs that really just point to ranges of other ones and properly ref count to keep it from getting hosed 15:18:52 right now newos creates a new cbuf and copies the data from the pending/unacked cbuf when it starts to put together a new outgoing packet 15:20:50 geist : yeah, i had that in mind 15:21:00 but i really dont like the conversion shite 15:21:05 although i know it is needed 15:21:29 conversion shite? 15:22:09 let's say the "address"/offset conversion you have to do 15:22:59 I dont understand, what's hard about that? 15:24:44 it is not hard 15:24:54 i totally understand your cbuf design 15:25:06 it is just not really fast 15:25:32 in the worst case you would have to do a conversion everytime you access data in the packet 15:26:06 one of the science teachers uncovered a server box today... it was VERY old, had SCSI RAID array... ran NT 3.5 we think 15:26:28 all ISA 15:26:42 and copying data into an "additional" buffer (like in your copy* functions) somehow wastes cycles, ,too 15:30:43 geist : found a paper about zero-copy stacks 15:31:31 lynx: yeah, though it's all pretty relative. computers are fast nowadays 15:31:55 and since memory is cheap, I set the default cbuf size to 2k, so an entire incoming packet will fit within it 15:32:18 and I think I set up the outgoing packet to be initialized at an offset into the cbuf buffer 15:32:37 so that when new headers are added on, chances are it just has to move the start pointer in the cbuf 15:33:46 geist : nice 15:34:14 geist : does any modern communication protocol in the upper layers use trailers? 15:34:48 or one that relies/is part of the tcp/ip network stack suite? 15:35:14 not in tcp/ip 15:35:41 neither ftp or something like that? 15:36:03 well, that's not part of tcp/ip as far as I'm concerned 15:36:10 but none that I know of use trailing headers 15:36:19 though that doesn't change the design at all 15:37:45 sure it doesnt 15:37:52 geist : thanks for your help :) 15:38:15 going to think more about the api and the cbuf "node"-headers 15:41:04 no prob 15:41:32 nothing I invented is particularly new. the newos network stack is designed to be more clean than efficient, it could definitely be sooped up a lot 15:42:12 though I did some stress testing on it, and it's quite capabile of totally saturating a 100mbit link with about 20% cpu usage (and scales over multiple cpus pretty well). that's not the best, but a lot of it is because of that crappy 8139 15:43:02 when I get some time I'm going tow rite a driver for a gigabit card I have here and start running it at full speed. That'll also give me a chance to instrument the stack for cards that do tcp/ip checksumming for you (like most gigabit cards, and a few 100mbit cards) 15:43:51 --- quit: file (Client Quit) 15:44:07 --- quit: abydos (Read error: 54 (Connection reset by peer)) 15:51:25 geist : how would you do some performance tests? 15:57:37 --- join: file (~file@mctn1-2201.nb.aliant.net) joined #osdev 15:57:40 that was cool... 16:05:35 nite 16:06:13 wow, this is so cool. I have in my hands a box full of prototype radios 16:06:14 --- join: redblue (star@ppp058.216-96-207.sherb.mt.videotron.ca) joined #osdev 16:06:24 I think the whole thing costs $300k 16:14:33 so i'm going to ask some serious noob questions and would love it if someone could kick me at the right documentation to read 16:15:10 * file points to topic for URLs 16:15:20 file: i read a bunch of those =) 16:16:36 first is, is there a good reference to reserved memory segments in real and pmode ? 16:17:08 specifically, grub seems to be telling me that memory from 0x0 right to the start of the mapped video ram is free 16:17:25 i thought that 0x0 was where the interrupt table lives 16:17:27 640k-1MB 16:17:35 that's always there 16:17:37 dont use it 16:17:47 all other memory (up to the size of ram) is available 16:17:59 as long as you dont intend to go back ad call bios calls, which you wont as a n00b 16:18:01 (i'm using the multiboot spec, fyi) 16:18:21 never looked at it 16:18:25 but I'm sure it's okay 16:18:39 basically, grub hands you a bunch of data structures that it gets from the bios 16:18:43 yeah, I know 16:18:54 i was just surprised when it said 0x0 was available 16:19:03 why wouldn't it be? 16:19:07 nothing special about 0 16:19:21 i thought the interupt table lives at 0x0 16:19:27 doesn't have to 16:19:37 the interrupt table can live wherever it wants to in protected mode 16:19:41 I forget about real mode, it might be at 0 16:19:56 right, ok 16:20:48 i did all of this to write a simple real mode kernel back in college and forget 90% of it =( 16:21:10 a bunch of that changes in protected mode 16:21:27 pretty much all of the system level data structures and whatnot are different, and some have radically different meanings 16:23:50 i'm pretty good once i'm in protected mode 16:24:00 i just want to make sure i don't stomp on reserved ram 16:24:13 and wasn't sure whether to actually trust what grub/the bios says 16:24:14 yeah 16:24:17 trust it 16:25:14 --- join: bugx0r (~bugx0r@2001:470:1f00:782:2e0:7dff:fea9:b8f6) joined #osdev 16:25:52 my other question is there any good docs on linking a kernel ? 16:31:57 --- part: idle left #osdev 16:32:03 --- join: idle (~idle@208.27.0.52) joined #osdev 16:34:32 rhavyn: not from me, but I dont keep track of any of that stuff 16:34:54 in general I'm pretty much opposed to tutorials or anything that tells you how to do a really complex thing in one way 16:35:08 I think it tends to gets people farther than they should be, and then get lost 16:35:10 but that's just me 16:42:53 geist: i understand what you're saying ... i just cant seem to find any documentation on a good way to layout the kernel binary besides making sure that the text segment starts at 0x100000+ 16:43:27 so i'm just tacking the data and bss segments on after that similar to how the linux kernel does it 16:43:50 pretty much 16:44:17 if you're just doing a raw binary (-O binary) then link with -Ttext=0x100000 or whatever you want your base to be 16:44:26 the rest of the sections will fall in place after that 16:44:37 if you're using ELF and not linker scripts, then the same applies 16:44:55 if you're writing your own linker script, take an existing one and modify it, dont try to rearrange things 16:45:15 one of the thigns you'll get really really familiar with when writing an os is how binaries really work 16:45:21 i'm using ELF with a simple linker script which just sets the text segment load address and the puts the data and bss segments after that 16:45:22 how loading works, how linking works, etc 16:45:33 nothing fancy at all 16:45:37 right 16:46:15 i'm not actually a noob when it comes to system programming, i just never tried to put all the pieces together and write a kernel =) 16:47:43 --- quit: pr1 ("Client Exiting") 16:48:29 --- join: nullify (nullify@pool-138-89-106-104.mad.east.verizon.net) joined #osdev 16:56:41 o/clear 16:56:43 argh 17:06:39 --- quit: Smari (Excess Flood) 17:07:37 --- join: Smari (~spm@optimized.bitcode.org) joined #osdev 17:17:06 geist: there ? 17:22:32 yes 17:22:56 I've found the problems in your VMware driver.. 17:23:24 I'm almost done giving it a major overhaul (rewrite w/ some borrowing of old code) 17:23:34 Should make it much more compatible 17:23:57 Does alot of errorchecking as well, as opposed to none. 17:24:23 You're using VMware 3, right ? 17:25:10 And, does it need to be thread-safe ? 17:25:46 --- join: gianluca (~glguida@ppp-63-132.28-151.libero.it) joined #osdev 17:25:53 --- quit: nullify (Read error: 110 (Connection timed out)) 17:30:39 I'm using vmware 4 now 17:30:47 it doesn't work there either 17:32:12 I know, that's why I'm fixing it.. :) 17:32:14 anyway, great! 17:32:28 and thread-safe? in general the code is totally multithreaded 17:32:30 But I'd like to have it tested in VMware 3.. It should work, but I can't test it here.. 17:33:35 "code is multithreaded", as in multiple threads might call the same function, and be preemted in the middle of it ? 17:34:04 --- quit: gianluca ("Hey! Where'd my controlling terminal go?") 17:36:25 I.e, since all accelerated functions gets pushed into a FIFO, do I need to protect it with semafores/mutexes ? 17:41:10 maybe not in this case, but it probably should be 17:41:33 I think you ight be safe because there's only ever one thread that's mucking with the screen at a time, but that doesn't mean that wont change 17:41:48 it's only that way because consoled does all the screen writing 17:42:22 or it could be locked higher up in the console module, I haven't looked at it in a while. unfortunately I'm kind of busy at work right now and can't take a look for a few hours at least 17:45:18 That's okay.. I'll do it without locking right now, but it's easy to implement later. 17:45:38 I'll see if I get something working out of it tomorrow. 17:46:05 I.e, put's actual text on the screen, instead of blue blocks. :) 17:46:13 yeah 17:48:34 --- quit: bugx0r (No route to host) 17:48:47 . 18:06:02 --- quit: Prophet__ ("Der Letzte macht das Netz aus!") 18:07:25 --- join: Prophet_ (~Prophet@pD9FF65FD.dip.t-dialin.net) joined #osdev 18:11:54 --- quit: Prophet_ ("irc.phat-net.de #linux") 18:13:17 --- join: Prophet_ (~Prophet@pD9FF65FD.dip.t-dialin.net) joined #osdev 18:21:13 --- quit: Prophet_ ("#define PROFTPD_MAGIC 0xDEADBEEF") 18:21:54 --- quit: kernel-panic (Read error: 104 (Connection reset by peer)) 18:22:26 geist: I have a question 18:22:44 geist: how do multiple people work on the same project and keep the same code in front of them at all times? 18:22:51 --- join: Prophet_ (~Prophet@pD9FF65FD.dip.t-dialin.net) joined #osdev 18:22:56 if a drastic change occurs... and somebody isn't up to sync it could get yucky pretty quickly 18:24:04 --- quit: trans (Read error: 110 (Connection timed out)) 19:07:13 --- join: abydos (~joshnet@mctn1-2201.nb.aliant.net) joined #osdev 19:26:16 for (i=0;i>=50;i++) { printf("Happy birthday to me yah!!!\n"); } 19:44:45 --- quit: Prophet_ (Remote closed the connection) 19:47:51 --- join: Prophet_ (~Prophet@pD9FF65FD.dip.t-dialin.net) joined #osdev 19:48:51 --- join: trans (hpovjk@fatwire-201-147.uniserve.ca) joined #osdev 19:51:34 --- quit: idle (Read error: 113 (No route to host)) 19:52:48 --- quit: newbs (Client Quit) 19:56:17 --- quit: Suid_ ("changing servers") 20:44:58 --- quit: trans (Read error: 60 (Operation timed out)) 20:45:40 --- quit: witten ("Client exiting") 20:53:31 --- quit: gab (Read error: 60 (Operation timed out)) 21:07:56 --- join: muaddib (~craig@12-247-244-146.client.attbi.com) joined #osdev 21:28:16 --- quit: asdasfas (Read error: 104 (Connection reset by peer)) 21:31:21 --- quit: kdehl (Operation timed out) 21:32:45 --- join: JJoSA (~JJoSA9401@radsl-bady-03.phx.gblx.net) joined #osdev 21:33:02 --- quit: lodda (Remote closed the connection) 21:33:19 --- quit: Robert (Remote closed the connection) 21:33:26 --- join: lodda (~playgroun@h31n2fls31o965.telia.com) joined #osdev 21:33:32 --- join: Robert (~snofs@h31n2fls31o965.telia.com) joined #osdev 21:33:41 --- join: kdehl (~kdehl@as3-2-3.sgp.lk.bonet.se) joined #osdev 21:38:35 --- part: JJoSA left #osdev 21:44:13 --- join: idle (~idle@ppp-208-27-0-100.kinex.net) joined #osdev 21:54:30 --- join: witten (~witten@adsl-gte-la-216-86-199-140.mminternet.com) joined #osdev 21:55:39 I've got a heisenbug :( 21:56:21 --- join: trans (sjbshp@fatwire-201-147.uniserve.ca) joined #osdev 22:07:26 --- quit: redblue (Operation timed out) 22:07:32 --- quit: witten ("Client exiting") 22:41:58 --- quit: jonasg ("leaving") 22:50:27 --- join: redblue (star@ppp020.216-96-207.sherb.mt.videotron.ca) joined #osdev 22:52:05 --- quit: trans (Read error: 110 (Connection timed out)) 22:58:39 pretty quiet today it seems 23:05:07 --- join: bash_ (~bash@ca-dibar-cuda1-c1b-122.anhmca.adelphia.net) joined #osdev 23:06:23 --- quit: bash_ (Remote closed the connection) 23:47:17 --- join: petrusss (~petrusss@h178n2fls31o862.telia.com) joined #osdev 23:50:12 --- join: pengo (xtofu@p497-tnt2.mel.ihug.com.au) joined #osdev 23:59:59 --- log: ended osdev/03.10.06