BOOK.PS
上传用户:jnzhq888
上传日期:2007-01-18
资源大小:51694k
文件大小:2328k
源码类别:

操作系统开发

开发平台:

WINDOWS

  1. 10 R
  2. 3402(MINIX)S
  3. 3730(SOURCE)S
  4. 4153(CODE)S
  5. 900 V
  6. 7 LST
  7. (06315)210 648 A
  8. (cli)126 1362 A
  9. 2370(!)S
  10. (disable)294 2454 A
  11. (interrupts)420 2790 A
  12. 990 V
  13. (06316)210 648 A
  14. 1080 V
  15. (06317)210 648 A
  16. 1026(!)S
  17. (Fall)168 1110 A
  18. (into)168 1320 A
  19. (code)168 1530 A
  20. 1740(to)S
  21. (restart)294 1866 A
  22. (proc/task)378 2202 A
  23. (running.)336 2622 A
  24. 1170 V
  25. (06318)210 648 A
  26. 1260 V
  27. (06319)210 648 A
  28. (!*===========================================================================*)3276 1026 A
  29. 1350 V
  30. (06320)210 648 A
  31. 1026(!*)S
  32. (restart)294 2370 A
  33. 4260(*)S
  34. 1440 V
  35. (06321)210 648 A
  36. (!*===========================================================================*)3276 1026 A
  37. 1530 V
  38. (06322)210 648 A
  39. (_restart:)378 1026 A
  40. 1620 V
  41. (06323)210 648 A
  42. 1710 V
  43. (06324)210 648 A
  44. 1026(!)S
  45. (Flush)210 1110 A
  46. (any)126 1362 A
  47. (held-up)294 1530 A
  48. (interrupts.)462 1866 A
  49. 1800 V
  50. (06325)210 648 A
  51. 1026(!)S
  52. (This)168 1110 A
  53. (reenables)378 1320 A
  54. (interrupts,)462 1740 A
  55. 2244(so)S
  56. (the)126 2370 A
  57. (current)294 2538 A
  58. (interrupt)378 2874 A
  59. (handler)294 3294 A
  60. (may)126 3630 A
  61. (reenter.)336 3798 A
  62. 1890 V
  63. (06326)210 648 A
  64. 1026(!)S
  65. (This)168 1110 A
  66. (does)168 1320 A
  67. (not)126 1530 A
  68. (matter,)294 1698 A
  69. (because)294 2034 A
  70. (the)126 2370 A
  71. (current)294 2538 A
  72. (handler)294 2874 A
  73. 3210(is)S
  74. (about)210 3336 A
  75. 3588(to)S
  76. (exit)168 3714 A
  77. (and)126 3924 A
  78. 4092(no)S
  79. 1980 V
  80. (06327)210 648 A
  81. 1026(!)S
  82. (other)210 1110 A
  83. (handlers)336 1362 A
  84. (can)126 1740 A
  85. (reenter)294 1908 A
  86. (since)210 2244 A
  87. (flushing)336 2496 A
  88. 2874(is)S
  89. (only)168 3000 A
  90. (done)168 3210 A
  91. (when)168 3420 A
  92. (k_reenter)378 3630 A
  93. 4050(==)S
  94. 4176(0.)S
  95. 2070 V
  96. (06328)210 648 A
  97. 2160 V
  98. (06329)210 648 A
  99. (cmp)126 1362 A
  100. ((_held_head),)546 1698 A
  101. 2286(0)S
  102. 2370(!)S
  103. 2454(do)S
  104. (fast)168 2580 A
  105. (test)168 2790 A
  106. 3000(to)S
  107. (usually)294 3126 A
  108. (avoid)210 3462 A
  109. (function)336 3714 A
  110. (call)168 4092 A
  111. 2250 V
  112. (06330)210 648 A
  113. 1362(jz)S
  114. (over_call_unhold)672 1698 A
  115. 2340 V
  116. (06331)210 648 A
  117. (call)168 1362 A
  118. (_unhold)294 1698 A
  119. 2370(!)S
  120. (this)168 2454 A
  121. 2664(is)S
  122. (rare)168 2790 A
  123. 3000(so)S
  124. (overhead)336 3126 A
  125. (acceptable)420 3504 A
  126. 2430 V
  127. (06332)210 648 A
  128. (over_call_unhold:)714 1026 A
  129. 2520 V
  130. (06333)210 648 A
  131. (mov)126 1362 A
  132. (esp,)168 1698 A
  133. ((_proc_ptr))462 1908 A
  134. 2706(!)S
  135. (will)168 2790 A
  136. (assume)252 3000 A
  137. (P_STACKBASE)462 3294 A
  138. 3798(==)S
  139. 3924(0)S
  140. 2610 V
  141. (06334)210 648 A
  142. (lldt)168 1362 A
  143. (P_LDT_SEL(esp))588 1698 A
  144. 2706(!)S
  145. (enable)252 2790 A
  146. (segment)294 3084 A
  147. (descriptors)462 3420 A
  148. (for)126 3924 A
  149. (task)168 4092 A
  150. 2700 V
  151. (06335)210 648 A
  152. (lea)126 1362 A
  153. (eax,)168 1698 A
  154. (P_STACKTOP(esp))630 1908 A
  155. 2706(!)S
  156. (arrange)294 2790 A
  157. (for)126 3126 A
  158. (next)168 3294 A
  159. (interrupt)378 3504 A
  160. 2790 V
  161. (06336)210 648 A
  162. (mov)126 1362 A
  163. ((_tss+TSS3_S_SP0),)756 1698 A
  164. (eax)126 2496 A
  165. 2706(!)S
  166. 2790(to)S
  167. (save)168 2916 A
  168. (state)210 3126 A
  169. 3378(in)S
  170. (process)294 3504 A
  171. (table)210 3840 A
  172. 2880 V
  173. (06337)210 648 A
  174. (restart1:)378 1026 A
  175. 2970 V
  176. (06338)210 648 A
  177. (decb)168 1362 A
  178. ((_k_reenter))504 1698 A
  179. 3060 V
  180. (06339)210 648 A
  181. (o16)126 1194 A
  182. (pop)126 1362 A
  183. 1698(gs)S
  184. 3150 V
  185. (06340)210 648 A
  186. (o16)126 1194 A
  187. (pop)126 1362 A
  188. 1698(fs)S
  189. 3240 V
  190. (06341)210 648 A
  191. (o16)126 1194 A
  192. (pop)126 1362 A
  193. 1698(es)S
  194. 3330 V
  195. (06342)210 648 A
  196. (o16)126 1194 A
  197. (pop)126 1362 A
  198. 1698(ds)S
  199. 3420 V
  200. (06343)210 648 A
  201. (popad)210 1362 A
  202. 3510 V
  203. (06344)210 648 A
  204. (add)126 1362 A
  205. (esp,)168 1698 A
  206. 1908(4)S
  207. 2370(!)S
  208. (skip)168 2454 A
  209. (return)252 2664 A
  210. (adr)126 2958 A
  211. 3600 V
  212. (06345)210 648 A
  213. (iretd)210 1362 A
  214. 2370(!)S
  215. (continue)336 2454 A
  216. (process)294 2832 A
  217. 3690 V
  218. (06346)210 648 A
  219. 3780 V
  220. (06347)210 648 A
  221. (!*===========================================================================*)3276 1026 A
  222. 3870 V
  223. (06348)210 648 A
  224. 1026(!*)S
  225. (exception)378 2370 A
  226. (handlers)336 2790 A
  227. 4260(*)S
  228. 3960 V
  229. (06349)210 648 A
  230. (!*===========================================================================*)3276 1026 A
  231. 4050 V
  232. (06350)210 648 A
  233. (_divide_error:)588 1026 A
  234. 4140 V
  235. (06351)210 648 A
  236. (push)168 1362 A
  237. (DIVIDE_VECTOR)546 1698 A
  238. 4230 V
  239. (06352)210 648 A
  240. (jmp)126 1362 A
  241. (exception)378 1698 A
  242. 4320 V
  243. (06353)210 648 A
  244. 4410 V
  245. (06354)210 648 A
  246. (_single_step_exception:)966 1026 A
  247. 4500 V
  248. (06355)210 648 A
  249. (push)168 1362 A
  250. (DEBUG_VECTOR)504 1698 A
  251. 4590 V
  252. (06356)210 648 A
  253. (jmp)126 1362 A
  254. (exception)378 1698 A
  255. 4680 V
  256. (06357)210 648 A
  257. 4770 V
  258. (06358)210 648 A
  259. (_nmi:)210 1026 A
  260. 4860 V
  261. (06359)210 648 A
  262. (push)168 1362 A
  263. (NMI_VECTOR)420 1698 A
  264. 4950 V
  265. (06360)210 648 A
  266. (jmp)126 1362 A
  267. (exception)378 1698 A
  268. 5040 V
  269. (06361)210 648 A
  270. 5130 V
  271. (06362)210 648 A
  272. (_breakpoint_exception:)924 1026 A
  273. 5220 V
  274. (06363)210 648 A
  275. (push)168 1362 A
  276. (BREAKPOINT_VECTOR)714 1698 A
  277. 5310 V
  278. (06364)210 648 A
  279. (jmp)126 1362 A
  280. (exception)378 1698 A
  281. 5400 V
  282. (06365)210 648 A
  283. 5490 V
  284. (06366)210 648 A
  285. (_overflow:)420 1026 A
  286. 5580 V
  287. (06367)210 648 A
  288. (push)168 1362 A
  289. (OVERFLOW_VECTOR)630 1698 A
  290. 5670 V
  291. (06368)210 648 A
  292. (jmp)126 1362 A
  293. (exception)378 1698 A
  294. 5760 V
  295. (06369)210 648 A
  296. 5850 V
  297. (06370)210 648 A
  298. (_bounds_check:)588 1026 A
  299. 5940 V
  300. (06371)210 648 A
  301. (push)168 1362 A
  302. (BOUNDS_VECTOR)546 1698 A
  303. 6030 V
  304. (06372)210 648 A
  305. (jmp)126 1362 A
  306. (exception)378 1698 A
  307. 6120 V
  308. (06373)210 648 A
  309. 6210 V
  310. (06374)210 648 A
  311. (_inval_opcode:)588 1026 A
  312. 8418 V
  313. EP
  314. %%Page: 75 75
  315. BP
  316. /slant 0 def
  317. /height 0 def
  318. 630 V
  319. 10 R
  320. 648(MINIX)S
  321. 976(SOURCE)S
  322. 1399(CODE)S
  323. 11 R
  324. 1970(File:)S
  325. (src/kernel/mpx386.s)902 2203 A
  326. 12 B
  327. 4308(75)S
  328. 900 V
  329. 7 LST
  330. (06375)210 648 A
  331. (push)168 1362 A
  332. (INVAL_OP_VECTOR)630 1698 A
  333. 990 V
  334. (06376)210 648 A
  335. (jmp)126 1362 A
  336. (exception)378 1698 A
  337. 1080 V
  338. (06377)210 648 A
  339. 1170 V
  340. (06378)210 648 A
  341. (_copr_not_available:)840 1026 A
  342. 1260 V
  343. (06379)210 648 A
  344. (push)168 1362 A
  345. (COPROC_NOT_VECTOR)714 1698 A
  346. 1350 V
  347. (06380)210 648 A
  348. (jmp)126 1362 A
  349. (exception)378 1698 A
  350. 1440 V
  351. (06381)210 648 A
  352. 1530 V
  353. (06382)210 648 A
  354. (_double_fault:)588 1026 A
  355. 1620 V
  356. (06383)210 648 A
  357. (push)168 1362 A
  358. (DOUBLE_FAULT_VECTOR)798 1698 A
  359. 1710 V
  360. (06384)210 648 A
  361. (jmp)126 1362 A
  362. (errexception)504 1698 A
  363. 1800 V
  364. (06385)210 648 A
  365. 1890 V
  366. (06386)210 648 A
  367. (_copr_seg_overrun:)756 1026 A
  368. 1980 V
  369. (06387)210 648 A
  370. (push)168 1362 A
  371. (COPROC_SEG_VECTOR)714 1698 A
  372. 2070 V
  373. (06388)210 648 A
  374. (jmp)126 1362 A
  375. (exception)378 1698 A
  376. 2160 V
  377. (06389)210 648 A
  378. 2250 V
  379. (06390)210 648 A
  380. (_inval_tss:)462 1026 A
  381. 2340 V
  382. (06391)210 648 A
  383. (push)168 1362 A
  384. (INVAL_TSS_VECTOR)672 1698 A
  385. 2430 V
  386. (06392)210 648 A
  387. (jmp)126 1362 A
  388. (errexception)504 1698 A
  389. 2520 V
  390. (06393)210 648 A
  391. 2610 V
  392. (06394)210 648 A
  393. (_segment_not_present:)882 1026 A
  394. 2700 V
  395. (06395)210 648 A
  396. (push)168 1362 A
  397. (SEG_NOT_VECTOR)588 1698 A
  398. 2790 V
  399. (06396)210 648 A
  400. (jmp)126 1362 A
  401. (errexception)504 1698 A
  402. 2880 V
  403. (06397)210 648 A
  404. 2970 V
  405. (06398)210 648 A
  406. (_stack_exception:)714 1026 A
  407. 3060 V
  408. (06399)210 648 A
  409. (push)168 1362 A
  410. (STACK_FAULT_VECTOR)756 1698 A
  411. 3150 V
  412. (06400)210 648 A
  413. (jmp)126 1362 A
  414. (errexception)504 1698 A
  415. 3240 V
  416. (06401)210 648 A
  417. 3330 V
  418. (06402)210 648 A
  419. (_general_protection:)840 1026 A
  420. 3420 V
  421. (06403)210 648 A
  422. (push)168 1362 A
  423. (PROTECTION_VECTOR)714 1698 A
  424. 3510 V
  425. (06404)210 648 A
  426. (jmp)126 1362 A
  427. (errexception)504 1698 A
  428. 3600 V
  429. (06405)210 648 A
  430. 3690 V
  431. (06406)210 648 A
  432. (_page_fault:)504 1026 A
  433. 3780 V
  434. (06407)210 648 A
  435. (push)168 1362 A
  436. (PAGE_FAULT_VECTOR)714 1698 A
  437. 3870 V
  438. (06408)210 648 A
  439. (jmp)126 1362 A
  440. (errexception)504 1698 A
  441. 3960 V
  442. (06409)210 648 A
  443. 4050 V
  444. (06410)210 648 A
  445. (_copr_error:)504 1026 A
  446. 4140 V
  447. (06411)210 648 A
  448. (push)168 1362 A
  449. (COPROC_ERR_VECTOR)714 1698 A
  450. 4230 V
  451. (06412)210 648 A
  452. (jmp)126 1362 A
  453. (exception)378 1698 A
  454. 4320 V
  455. (06413)210 648 A
  456. 4410 V
  457. (06414)210 648 A
  458. (!*===========================================================================*)3276 1026 A
  459. 4500 V
  460. (06415)210 648 A
  461. 1026(!*)S
  462. (exception)378 2370 A
  463. 4260(*)S
  464. 4590 V
  465. (06416)210 648 A
  466. (!*===========================================================================*)3276 1026 A
  467. 4680 V
  468. (06417)210 648 A
  469. 1026(!)S
  470. (This)168 1110 A
  471. 1320(is)S
  472. (called)252 1446 A
  473. (for)126 1740 A
  474. (all)126 1908 A
  475. (exceptions)420 2076 A
  476. (which)210 2538 A
  477. 2790(do)S
  478. (not)126 2916 A
  479. (push)168 3084 A
  480. 3294(an)S
  481. (error)210 3420 A
  482. (code.)210 3672 A
  483. 4770 V
  484. (06418)210 648 A
  485. 4860 V
  486. (06419)210 648 A
  487. (.align)252 1362 A
  488. 1698(16)S
  489. 4950 V
  490. (06420)210 648 A
  491. (exception:)420 1026 A
  492. 5040 V
  493. (06421)210 648 A
  494. (sseg)168 1068 A
  495. (mov)126 1362 A
  496. ((trap_errno),)546 1698 A
  497. 2286(0)S
  498. 2706(!)S
  499. (clear)210 2790 A
  500. (trap_errno)420 3042 A
  501. 5130 V
  502. (06422)210 648 A
  503. (sseg)168 1068 A
  504. (pop)126 1362 A
  505. ((ex_number))462 1698 A
  506. 5220 V
  507. (06423)210 648 A
  508. (jmp)126 1362 A
  509. (exception1)420 1698 A
  510. 5310 V
  511. (06424)210 648 A
  512. 5400 V
  513. (06425)210 648 A
  514. (!*===========================================================================*)3276 1026 A
  515. 5490 V
  516. (06426)210 648 A
  517. 1026(!*)S
  518. (errexception)504 2370 A
  519. 4260(*)S
  520. 5580 V
  521. (06427)210 648 A
  522. (!*===========================================================================*)3276 1026 A
  523. 5670 V
  524. (06428)210 648 A
  525. 1026(!)S
  526. (This)168 1110 A
  527. 1320(is)S
  528. (called)252 1446 A
  529. (for)126 1740 A
  530. (all)126 1908 A
  531. (exceptions)420 2076 A
  532. (which)210 2538 A
  533. (push)168 2790 A
  534. 3000(an)S
  535. (error)210 3126 A
  536. (code.)210 3378 A
  537. 5760 V
  538. (06429)210 648 A
  539. 5850 V
  540. (06430)210 648 A
  541. (.align)252 1362 A
  542. 1698(16)S
  543. 5940 V
  544. (06431)210 648 A
  545. (errexception:)546 1026 A
  546. 6030 V
  547. (06432)210 648 A
  548. (sseg)168 1068 A
  549. (pop)126 1362 A
  550. ((ex_number))462 1698 A
  551. 6120 V
  552. (06433)210 648 A
  553. (sseg)168 1068 A
  554. (pop)126 1362 A
  555. ((trap_errno))504 1698 A
  556. 6210 V
  557. (06434)210 648 A
  558. (exception1:)462 1026 A
  559. 2706(!)S
  560. (Common)252 2790 A
  561. (for)126 3084 A
  562. (all)126 3252 A
  563. (exceptions.)462 3420 A
  564. 8418 V
  565. EP
  566. %%Page: 76 76
  567. BP
  568. /slant 0 def
  569. /height 0 def
  570. 630 V
  571. 12 B
  572. 648(76)S
  573. 11 R
  574. 1970(File:)S
  575. (src/kernel/mpx386.s)902 2203 A
  576. 10 R
  577. 3402(MINIX)S
  578. 3730(SOURCE)S
  579. 4153(CODE)S
  580. 900 V
  581. 7 LST
  582. (06435)210 648 A
  583. (push)168 1362 A
  584. (eax)126 1698 A
  585. 2706(!)S
  586. (eax)126 2790 A
  587. 2958(is)S
  588. (scratch)294 3084 A
  589. (register)336 3420 A
  590. 990 V
  591. (06436)210 648 A
  592. (mov)126 1362 A
  593. (eax,)168 1698 A
  594. (0+4(esp))336 1908 A
  595. 2706(!)S
  596. (old)126 2790 A
  597. (eip)126 2958 A
  598. 1080 V
  599. (06437)210 648 A
  600. (sseg)168 1068 A
  601. (mov)126 1362 A
  602. ((old_eip),)420 1698 A
  603. (eax)126 2160 A
  604. 1170 V
  605. (06438)210 648 A
  606. (movzx)210 1362 A
  607. (eax,)168 1698 A
  608. (4+4(esp))336 1908 A
  609. 2706(!)S
  610. (old)126 2790 A
  611. 2958(cs)S
  612. 1260 V
  613. (06439)210 648 A
  614. (sseg)168 1068 A
  615. (mov)126 1362 A
  616. ((old_cs),)378 1698 A
  617. (eax)126 2118 A
  618. 1350 V
  619. (06440)210 648 A
  620. (mov)126 1362 A
  621. (eax,)168 1698 A
  622. (8+4(esp))336 1908 A
  623. 2706(!)S
  624. (old)126 2790 A
  625. (eflags)252 2958 A
  626. 1440 V
  627. (06441)210 648 A
  628. (sseg)168 1068 A
  629. (mov)126 1362 A
  630. ((old_eflags),)546 1698 A
  631. (eax)126 2286 A
  632. 1530 V
  633. (06442)210 648 A
  634. (pop)126 1362 A
  635. (eax)126 1698 A
  636. 1620 V
  637. (06443)210 648 A
  638. (call)168 1362 A
  639. (save)168 1698 A
  640. 1710 V
  641. (06444)210 648 A
  642. (push)168 1362 A
  643. ((old_eflags))504 1698 A
  644. 1800 V
  645. (06445)210 648 A
  646. (push)168 1362 A
  647. ((old_cs))336 1698 A
  648. 1890 V
  649. (06446)210 648 A
  650. (push)168 1362 A
  651. ((old_eip))378 1698 A
  652. 1980 V
  653. (06447)210 648 A
  654. (push)168 1362 A
  655. ((trap_errno))504 1698 A
  656. 2070 V
  657. (06448)210 648 A
  658. (push)168 1362 A
  659. ((ex_number))462 1698 A
  660. 2160 V
  661. (06449)210 648 A
  662. (call)168 1362 A
  663. (_exception)420 1698 A
  664. 2706(!)S
  665. ((ex_number,)462 2790 A
  666. (trap_errno,)462 3294 A
  667. (old_eip,)336 3798 A
  668. 2250 V
  669. (06450)210 648 A
  670. 2706(!)S
  671. (old_cs,)294 3042 A
  672. (old_eflags))462 3378 A
  673. 2340 V
  674. (06451)210 648 A
  675. (add)126 1362 A
  676. (esp,)168 1698 A
  677. (5*4)126 1908 A
  678. 2430 V
  679. (06452)210 648 A
  680. (cli)126 1362 A
  681. 2520 V
  682. (06453)210 648 A
  683. (ret)126 1362 A
  684. 2610 V
  685. (06454)210 648 A
  686. 2700 V
  687. (06455)210 648 A
  688. (!*===========================================================================*)3276 1026 A
  689. 2790 V
  690. (06456)210 648 A
  691. 1026(!*)S
  692. (level0_call)462 2370 A
  693. 4260(*)S
  694. 2880 V
  695. (06457)210 648 A
  696. (!*===========================================================================*)3276 1026 A
  697. 2970 V
  698. (06458)210 648 A
  699. (_level0_call:)546 1026 A
  700. 3060 V
  701. (06459)210 648 A
  702. (call)168 1362 A
  703. (save)168 1698 A
  704. 3150 V
  705. (06460)210 648 A
  706. (jmp)126 1362 A
  707. ((_level0_func))588 1698 A
  708. 3240 V
  709. (06461)210 648 A
  710. 3330 V
  711. (06462)210 648 A
  712. (!*===========================================================================*)3276 1026 A
  713. 3420 V
  714. (06463)210 648 A
  715. 1026(!*)S
  716. (idle_task)378 2370 A
  717. 4260(*)S
  718. 3510 V
  719. (06464)210 648 A
  720. (!*===========================================================================*)3276 1026 A
  721. 3600 V
  722. (06465)210 648 A
  723. (_idle_task:)462 1026 A
  724. 2370(!)S
  725. (executed)336 2454 A
  726. (when)168 2832 A
  727. (there)210 3042 A
  728. 3294(is)S
  729. 3420(no)S
  730. (work)168 3546 A
  731. 3690 V
  732. (06466)210 648 A
  733. (jmp)126 1362 A
  734. (_idle_task)420 1698 A
  735. 2370(!)S
  736. 2454(a)S
  737. ("hlt")210 2538 A
  738. (before)252 2790 A
  739. (this)168 3084 A
  740. (fails)210 3294 A
  741. 3546(in)S
  742. (protected)378 3672 A
  743. (mode)168 4092 A
  744. 3780 V
  745. (06467)210 648 A
  746. 3870 V
  747. (06468)210 648 A
  748. (!*===========================================================================*)3276 1026 A
  749. 3960 V
  750. (06469)210 648 A
  751. 1026(!*)S
  752. (data)168 2370 A
  753. 4260(*)S
  754. 4050 V
  755. (06470)210 648 A
  756. (!*===========================================================================*)3276 1026 A
  757. 4140 V
  758. (06471)210 648 A
  759. 1026(!)S
  760. (These)210 1110 A
  761. (declarations)504 1362 A
  762. (assure)252 1908 A
  763. (that)168 2202 A
  764. (storage)294 2412 A
  765. (will)168 2748 A
  766. 2958(be)S
  767. (allocated)378 3084 A
  768. 3504(at)S
  769. (the)126 3630 A
  770. (very)168 3798 A
  771. 4230 V
  772. (06472)210 648 A
  773. 1026(!)S
  774. (beginning)378 1110 A
  775. 1530(of)S
  776. (the)126 1656 A
  777. (kernel)252 1824 A
  778. (data)168 2118 A
  779. (section,)336 2328 A
  780. 2706(so)S
  781. (the)126 2832 A
  782. (boot)168 3000 A
  783. (monitor)294 3210 A
  784. (can)126 3546 A
  785. 3714(be)S
  786. (easily)252 3840 A
  787. 4320 V
  788. (06473)210 648 A
  789. 1026(!)S
  790. (told)168 1110 A
  791. (how)126 1320 A
  792. 1488(to)S
  793. (patch)210 1614 A
  794. (these)210 1866 A
  795. (locations.)420 2118 A
  796. (Note)168 2580 A
  797. (that)168 2790 A
  798. (the)126 3000 A
  799. (magic)210 3168 A
  800. (number)252 3420 A
  801. 3714(is)S
  802. (put)126 3840 A
  803. 4410 V
  804. (06474)210 648 A
  805. 1026(!)S
  806. (here)168 1110 A
  807. 1320(by)S
  808. (the)126 1446 A
  809. (compiler,)378 1614 A
  810. (but)126 2034 A
  811. (will)168 2202 A
  812. 2412(be)S
  813. (read)168 2538 A
  814. (by,)126 2748 A
  815. (and)126 2916 A
  816. (then)168 3084 A
  817. (overwritten)462 3294 A
  818. (by,)126 3798 A
  819. 4500 V
  820. (06475)210 648 A
  821. 1026(!)S
  822. (the)126 1110 A
  823. (boot)168 1278 A
  824. (monitor.)336 1488 A
  825. (When)168 1866 A
  826. (the)126 2076 A
  827. (kernel)252 2244 A
  828. (starts)252 2538 A
  829. (the)126 2832 A
  830. (sizes)210 3000 A
  831. (array)210 3252 A
  832. (will)168 3504 A
  833. 3714(be)S
  834. 4590 V
  835. (06476)210 648 A
  836. 1026(!)S
  837. (found)210 1110 A
  838. (here,)210 1362 A
  839. 1614(as)S
  840. 1740(if)S
  841. 1866(it)S
  842. (had)126 1992 A
  843. (been)168 2160 A
  844. (initialized)462 2370 A
  845. 2874(by)S
  846. (the)126 3000 A
  847. (compiler.)378 3168 A
  848. 4680 V
  849. (06477)210 648 A
  850. 4770 V
  851. (06478)210 648 A
  852. (.sect)210 1026 A
  853. (.rom)168 1278 A
  854. 1698(!)S
  855. (Before)252 1782 A
  856. (the)126 2076 A
  857. (string)252 2244 A
  858. (table)210 2538 A
  859. (please)252 2790 A
  860. 4860 V
  861. (06479)210 648 A
  862. (_sizes:)294 1026 A
  863. 2370(!)S
  864. (sizes)210 2454 A
  865. 2706(of)S
  866. (kernel,)294 2832 A
  867. (mm,)126 3168 A
  868. 3336(fs)S
  869. (filled)252 3462 A
  870. 3756(in)S
  871. 3882(by)S
  872. (boot)168 4008 A
  873. 4950 V
  874. (06480)210 648 A
  875. (.data2)252 1362 A
  876. (0x526F)252 1698 A
  877. 2370(!)S
  878. (this)168 2454 A
  879. (must)168 2664 A
  880. 2874(be)S
  881. (the)126 3000 A
  882. (first)210 3168 A
  883. (data)168 3420 A
  884. (entry)210 3630 A
  885. ((magic)252 3882 A
  886. 4176(#))S
  887. 5040 V
  888. (06481)210 648 A
  889. (.space)252 1362 A
  890. (16*2*2-2)336 1698 A
  891. 2370(!)S
  892. (monitor)294 2454 A
  893. (uses)168 2790 A
  894. (previous)336 3000 A
  895. (word)168 3378 A
  896. (and)126 3588 A
  897. (this)168 3756 A
  898. (space)210 3966 A
  899. 5130 V
  900. (06482)210 648 A
  901. 2370(!)S
  902. (extra)210 2454 A
  903. (space)210 2706 A
  904. (allows)252 2958 A
  905. (for)126 3252 A
  906. (additional)420 3420 A
  907. (servers)294 3882 A
  908. 5220 V
  909. (06483)210 648 A
  910. (.sect)210 1026 A
  911. (.bss)168 1278 A
  912. 5310 V
  913. (06484)210 648 A
  914. (k_stack:)336 1026 A
  915. 5400 V
  916. (06485)210 648 A
  917. (.space)252 1362 A
  918. (K_STACK_BYTES)546 1698 A
  919. 2370(!)S
  920. (kernel)252 2454 A
  921. (stack)210 2748 A
  922. 5490 V
  923. (06486)210 648 A
  924. (k_stktop:)378 1026 A
  925. 2370(!)S
  926. (top)126 2454 A
  927. 2622(of)S
  928. (kernel)252 2748 A
  929. (stack)210 3042 A
  930. 5580 V
  931. (06487)210 648 A
  932. (.comm)210 1362 A
  933. (ex_number,)420 1698 A
  934. 2160(4)S
  935. 5670 V
  936. (06488)210 648 A
  937. (.comm)210 1362 A
  938. (trap_errno,)462 1698 A
  939. 2202(4)S
  940. 5760 V
  941. (06489)210 648 A
  942. (.comm)210 1362 A
  943. (old_eip,)336 1698 A
  944. 2076(4)S
  945. 5850 V
  946. (06490)210 648 A
  947. (.comm)210 1362 A
  948. (old_cs,)294 1698 A
  949. 2034(4)S
  950. 5940 V
  951. (06491)210 648 A
  952. (.comm)210 1362 A
  953. (old_eflags,)462 1698 A
  954. 2202(4)S
  955. 8418 V
  956. EP
  957. %%Page: 77 77
  958. BP
  959. /slant 0 def
  960. /height 0 def
  961. 630 V
  962. 10 R
  963. 648(MINIX)S
  964. 976(SOURCE)S
  965. 1399(CODE)S
  966. 11 R
  967. 2051(File:)S
  968. 2284(src/kernel/start.c)S
  969. 12 B
  970. 4308(77)S
  971. 990 V
  972. 7 LST
  973. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  974. 1080 V
  975. (src/kernel/start.c)756 2034 A
  976. 1170 V
  977. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  978. 1350 V
  979. (06500)210 648 A
  980. 1026(/*)S
  981. (This)168 1152 A
  982. (file)168 1362 A
  983. (contains)336 1572 A
  984. (the)126 1950 A
  985. 2118(C)S
  986. (startup)294 2202 A
  987. (code)168 2538 A
  988. (for)126 2748 A
  989. (Minix)210 2916 A
  990. 3168(on)S
  991. (Intel)210 3294 A
  992. (processors.)462 3546 A
  993. 1440 V
  994. (06501)210 648 A
  995. 1068(*)S
  996. 1152(It)S
  997. (cooperates)420 1278 A
  998. (with)168 1740 A
  999. (mpx.s)210 1950 A
  1000. 2202(to)S
  1001. (set)126 2328 A
  1002. 2496(up)S
  1003. 2622(a)S
  1004. (good)168 2706 A
  1005. (environment)462 2916 A
  1006. (for)126 3420 A
  1007. (main().)294 3588 A
  1008. 1530 V
  1009. (06502)210 648 A
  1010. 1068(*)S
  1011. 1620 V
  1012. (06503)210 648 A
  1013. 1068(*)S
  1014. (This)168 1152 A
  1015. (code)168 1362 A
  1016. (runs)168 1572 A
  1017. 1782(in)S
  1018. (real)168 1908 A
  1019. (mode)168 2118 A
  1020. (for)126 2328 A
  1021. 2496(a)S
  1022. 2580(16)S
  1023. (bit)126 2706 A
  1024. (kernel)252 2874 A
  1025. (and)126 3168 A
  1026. (may)126 3336 A
  1027. (have)168 3504 A
  1028. 3714(to)S
  1029. (switch)252 3840 A
  1030. 1710 V
  1031. (06504)210 648 A
  1032. 1068(*)S
  1033. 1152(to)S
  1034. (protected)378 1278 A
  1035. (mode)168 1698 A
  1036. (for)126 1908 A
  1037. 2076(a)S
  1038. (286.)168 2160 A
  1039. 1800 V
  1040. (06505)210 648 A
  1041. 1068(*)S
  1042. 1890 V
  1043. (06506)210 648 A
  1044. 1068(*)S
  1045. (For)126 1152 A
  1046. 1320(a)S
  1047. 1404(32)S
  1048. (bit)126 1530 A
  1049. (kernel)252 1698 A
  1050. (this)168 1992 A
  1051. (already)294 2202 A
  1052. (runs)168 2538 A
  1053. 2748(in)S
  1054. (protected)378 2874 A
  1055. (mode,)210 3294 A
  1056. (but)126 3546 A
  1057. (the)126 3714 A
  1058. (selectors)378 3882 A
  1059. 1980 V
  1060. (06507)210 648 A
  1061. 1068(*)S
  1062. (are)126 1152 A
  1063. (still)210 1320 A
  1064. (those)210 1572 A
  1065. (given)210 1824 A
  1066. 2076(by)S
  1067. (the)126 2202 A
  1068. (BIOS)168 2370 A
  1069. (with)168 2580 A
  1070. (interrupts)420 2790 A
  1071. (disabled,)378 3252 A
  1072. 3672(so)S
  1073. (the)126 3798 A
  1074. 2070 V
  1075. (06508)210 648 A
  1076. 1068(*)S
  1077. (descriptors)462 1152 A
  1078. (need)168 1656 A
  1079. 1866(to)S
  1080. 1992(be)S
  1081. (reloaded)336 2118 A
  1082. (and)126 2496 A
  1083. (interrupt)378 2664 A
  1084. (descriptors)462 3084 A
  1085. (made.)210 3588 A
  1086. 2160 V
  1087. (06509)210 648 A
  1088. 1068(*/)S
  1089. 2250 V
  1090. (06510)210 648 A
  1091. 2340 V
  1092. (06511)210 648 A
  1093. (#include)336 1026 A
  1094. ("kernel.h")420 1404 A
  1095. 2430 V
  1096. (06512)210 648 A
  1097. (#include)336 1026 A
  1098. (<stdlib.h>)420 1404 A
  1099. 2520 V
  1100. (06513)210 648 A
  1101. (#include)336 1026 A
  1102. (<minix/boot.h>)588 1404 A
  1103. 2610 V
  1104. (06514)210 648 A
  1105. (#include)336 1026 A
  1106. ("protect.h")462 1404 A
  1107. 2700 V
  1108. (06515)210 648 A
  1109. 2790 V
  1110. (06516)210 648 A
  1111. (PRIVATE)294 1026 A
  1112. (char)168 1362 A
  1113. (k_environ[256];)630 1572 A
  1114. 2370(/*)S
  1115. (environment)462 2496 A
  1116. (strings)294 3000 A
  1117. (passed)252 3336 A
  1118. 3630(by)S
  1119. (loader)252 3756 A
  1120. 4050(*/)S
  1121. 2880 V
  1122. (06517)210 648 A
  1123. 2970 V
  1124. (06518)210 648 A
  1125. (FORWARD)294 1026 A
  1126. (_PROTOTYPE()462 1362 A
  1127. (int)126 1866 A
  1128. (k_atoi,)294 2034 A
  1129. ((char)210 2370 A
  1130. (*s))126 2622 A
  1131. 2790();)S
  1132. 3060 V
  1133. (06519)210 648 A
  1134. 3150 V
  1135. (06520)210 648 A
  1136. 3240 V
  1137. (06521)210 648 A
  1138. (/*==========================================================================*)3234 1026 A
  1139. 3330 V
  1140. (06522)210 648 A
  1141. 1068(*)S
  1142. (cstart)252 2370 A
  1143. 4218(*)S
  1144. 3420 V
  1145. (06523)210 648 A
  1146. (*==========================================================================*/)3234 1068 A
  1147. 3510 V
  1148. (06524)210 648 A
  1149. (PUBLIC)252 1026 A
  1150. (void)168 1320 A
  1151. (cstart(cs,)420 1530 A
  1152. (ds,)126 1992 A
  1153. (mcs,)168 2160 A
  1154. (mds,)168 2370 A
  1155. (parmoff,)336 2580 A
  1156. (parmsize))378 2958 A
  1157. 3600 V
  1158. (06525)210 648 A
  1159. (U16_t)210 1026 A
  1160. (cs,)126 1278 A
  1161. (ds;)126 1446 A
  1162. 2370(/*)S
  1163. (Kernel)252 2496 A
  1164. (code)168 2790 A
  1165. (and)126 3000 A
  1166. (data)168 3168 A
  1167. (segment)294 3378 A
  1168. 3714(*/)S
  1169. 3690 V
  1170. (06526)210 648 A
  1171. (U16_t)210 1026 A
  1172. (mcs,)168 1278 A
  1173. (mds;)168 1488 A
  1174. 2370(/*)S
  1175. (Monitor)294 2496 A
  1176. (code)168 2832 A
  1177. (and)126 3042 A
  1178. (data)168 3210 A
  1179. (segment)294 3420 A
  1180. 3756(*/)S
  1181. 3780 V
  1182. (06527)210 648 A
  1183. (U16_t)210 1026 A
  1184. (parmoff,)336 1278 A
  1185. (parmsize;)378 1656 A
  1186. 2370(/*)S
  1187. (boot)168 2496 A
  1188. (parameters)420 2706 A
  1189. (offset)252 3168 A
  1190. (and)126 3462 A
  1191. (length)252 3630 A
  1192. 3924(*/)S
  1193. 3870 V
  1194. (06528)210 648 A
  1195. 1026({)S
  1196. 3960 V
  1197. (06529)210 648 A
  1198. 1026(/*)S
  1199. (Perform)294 1152 A
  1200. (system)252 1488 A
  1201. (initializations)630 1782 A
  1202. (prior)210 2454 A
  1203. 2706(to)S
  1204. (calling)294 2832 A
  1205. (main().)294 3168 A
  1206. 3504(*/)S
  1207. 4050 V
  1208. (06530)210 648 A
  1209. 4140 V
  1210. (06531)210 648 A
  1211. (register)336 1110 A
  1212. (char)168 1488 A
  1213. (*envp;)252 1698 A
  1214. 4230 V
  1215. (06532)210 648 A
  1216. (phys_bytes)420 1110 A
  1217. (mcode_base,)462 1572 A
  1218. (mdata_base;)462 2076 A
  1219. 4320 V
  1220. (06533)210 648 A
  1221. (unsigned)336 1110 A
  1222. (mon_start;)420 1488 A
  1223. 4410 V
  1224. (06534)210 648 A
  1225. 4500 V
  1226. (06535)210 648 A
  1227. 1110(/*)S
  1228. (Record)252 1236 A
  1229. (where)210 1530 A
  1230. (the)126 1782 A
  1231. (kernel)252 1950 A
  1232. (and)126 2244 A
  1233. (the)126 2412 A
  1234. (monitor)294 2580 A
  1235. (are.)168 2916 A
  1236. 3126(*/)S
  1237. 4590 V
  1238. (06536)210 648 A
  1239. (code_base)378 1110 A
  1240. 1530(=)S
  1241. (seg2phys(cs);)546 1614 A
  1242. 4680 V
  1243. (06537)210 648 A
  1244. (data_base)378 1110 A
  1245. 1530(=)S
  1246. (seg2phys(ds);)546 1614 A
  1247. 4770 V
  1248. (06538)210 648 A
  1249. (mcode_base)420 1110 A
  1250. 1572(=)S
  1251. (seg2phys(mcs);)588 1656 A
  1252. 4860 V
  1253. (06539)210 648 A
  1254. (mdata_base)420 1110 A
  1255. 1572(=)S
  1256. (seg2phys(mds);)588 1656 A
  1257. 4950 V
  1258. (06540)210 648 A
  1259. 5040 V
  1260. (06541)210 648 A
  1261. 1110(/*)S
  1262. (Initialize)420 1236 A
  1263. (protected)378 1698 A
  1264. (mode)168 2118 A
  1265. (descriptors.)504 2328 A
  1266. 2874(*/)S
  1267. 5130 V
  1268. (06542)210 648 A
  1269. (prot_init();)504 1110 A
  1270. 5220 V
  1271. (06543)210 648 A
  1272. 5310 V
  1273. (06544)210 648 A
  1274. 1110(/*)S
  1275. (Copy)168 1236 A
  1276. (the)126 1446 A
  1277. (boot)168 1614 A
  1278. (parameters)420 1824 A
  1279. 2286(to)S
  1280. (kernel)252 2412 A
  1281. (memory.)294 2706 A
  1282. 3042(*/)S
  1283. 5400 V
  1284. (06545)210 648 A
  1285. 1110(if)S
  1286. ((parmsize)378 1236 A
  1287. 1656(>)S
  1288. (sizeof)252 1740 A
  1289. (k_environ)378 2034 A
  1290. 2454(-)S
  1291. 2538(2))S
  1292. (parmsize)336 2664 A
  1293. 3042(=)S
  1294. (sizeof)252 3126 A
  1295. (k_environ)378 3420 A
  1296. 3840(-)S
  1297. 3924(2;)S
  1298. 5490 V
  1299. (06546)210 648 A
  1300. (phys_copy(mdata_base)840 1110 A
  1301. 1992(+)S
  1302. (parmoff,)336 2076 A
  1303. (vir2phys(k_environ),)840 2454 A
  1304. ((phys_bytes))504 3336 A
  1305. (parmsize);)420 3882 A
  1306. 5580 V
  1307. (06547)210 648 A
  1308. 5670 V
  1309. (06548)210 648 A
  1310. 1110(/*)S
  1311. (Convert)294 1236 A
  1312. (important)378 1572 A
  1313. (boot)168 1992 A
  1314. (environment)462 2202 A
  1315. (variables.)420 2706 A
  1316. 3168(*/)S
  1317. 5760 V
  1318. (06549)210 648 A
  1319. (boot_parameters.bp_rootdev)1092 1110 A
  1320. 2244(=)S
  1321. (k_atoi(k_getenv("rootdev"));)1176 2328 A
  1322. 5850 V
  1323. (06550)210 648 A
  1324. (boot_parameters.bp_ramimagedev)1260 1110 A
  1325. 2412(=)S
  1326. (k_atoi(k_getenv("ramimagedev"));)1344 2496 A
  1327. 5940 V
  1328. (06551)210 648 A
  1329. (boot_parameters.bp_ramsize)1092 1110 A
  1330. 2244(=)S
  1331. (k_atoi(k_getenv("ramsize"));)1176 2328 A
  1332. 6030 V
  1333. (06552)210 648 A
  1334. (boot_parameters.bp_processor)1176 1110 A
  1335. 2328(=)S
  1336. (k_atoi(k_getenv("processor"));)1260 2412 A
  1337. 6120 V
  1338. (06553)210 648 A
  1339. 6210 V
  1340. (06554)210 648 A
  1341. 1110(/*)S
  1342. (Type)168 1236 A
  1343. 1446(of)S
  1344. (VDU:)168 1572 A
  1345. 1782(*/)S
  1346. 8418 V
  1347. EP
  1348. %%Page: 78 78
  1349. BP
  1350. /slant 0 def
  1351. /height 0 def
  1352. 630 V
  1353. 12 B
  1354. 648(78)S
  1355. 11 R
  1356. 2051(File:)S
  1357. 2284(src/kernel/start.c)S
  1358. 10 R
  1359. 3402(MINIX)S
  1360. 3730(SOURCE)S
  1361. 4153(CODE)S
  1362. 900 V
  1363. 7 LST
  1364. (06555)210 648 A
  1365. (envp)168 1110 A
  1366. 1320(=)S
  1367. (k_getenv("video");)756 1404 A
  1368. 990 V
  1369. (06556)210 648 A
  1370. 1110(if)S
  1371. ((strcmp(envp,)546 1236 A
  1372. ("ega"))252 1824 A
  1373. 2118(==)S
  1374. 2244(0))S
  1375. (ega)126 2370 A
  1376. 2538(=)S
  1377. (TRUE;)210 2622 A
  1378. 1080 V
  1379. (06557)210 648 A
  1380. 1110(if)S
  1381. ((strcmp(envp,)546 1236 A
  1382. ("vga"))252 1824 A
  1383. 2118(==)S
  1384. 2244(0))S
  1385. (vga)126 2370 A
  1386. 2538(=)S
  1387. (ega)126 2622 A
  1388. 2790(=)S
  1389. (TRUE;)210 2874 A
  1390. 1170 V
  1391. (06558)210 648 A
  1392. 1260 V
  1393. (06559)210 648 A
  1394. 1110(/*)S
  1395. (Memory)252 1236 A
  1396. (sizes:)252 1530 A
  1397. 1824(*/)S
  1398. 1350 V
  1399. (06560)210 648 A
  1400. (low_memsize)462 1110 A
  1401. 1614(=)S
  1402. (k_atoi(k_getenv("memsize"));)1176 1698 A
  1403. 1440 V
  1404. (06561)210 648 A
  1405. (ext_memsize)462 1110 A
  1406. 1614(=)S
  1407. (k_atoi(k_getenv("emssize"));)1176 1698 A
  1408. 1530 V
  1409. (06562)210 648 A
  1410. 1620 V
  1411. (06563)210 648 A
  1412. 1110(/*)S
  1413. (Processor?)420 1236 A
  1414. 1698(*/)S
  1415. 1710 V
  1416. (06564)210 648 A
  1417. (processor)378 1110 A
  1418. 1530(=)S
  1419. (boot_parameters.bp_processor;)1218 1614 A
  1420. 3042(/*)S
  1421. (86,)126 3168 A
  1422. (186,)168 3336 A
  1423. (286,)168 3546 A
  1424. (386,)168 3756 A
  1425. (...)126 3966 A
  1426. 4134(*/)S
  1427. 1800 V
  1428. (06565)210 648 A
  1429. 1890 V
  1430. (06566)210 648 A
  1431. 1110(/*)S
  1432. (XT,)126 1236 A
  1433. 1404(AT)S
  1434. 1530(or)S
  1435. (MCA)126 1656 A
  1436. (bus?)168 1824 A
  1437. 2034(*/)S
  1438. 1980 V
  1439. (06567)210 648 A
  1440. (envp)168 1110 A
  1441. 1320(=)S
  1442. (k_getenv("bus");)672 1404 A
  1443. 2070 V
  1444. (06568)210 648 A
  1445. 1110(if)S
  1446. ((envp)210 1236 A
  1447. 1488(==)S
  1448. (NIL_PTR)294 1614 A
  1449. 1950(||)S
  1450. (strcmp(envp,)504 2076 A
  1451. ("at"))210 2622 A
  1452. 2874(==)S
  1453. 3000(0))S
  1454. 3126({)S
  1455. 2160 V
  1456. (06569)210 648 A
  1457. (pc_at)210 1362 A
  1458. 1614(=)S
  1459. (TRUE;)210 1698 A
  1460. 2250 V
  1461. (06570)210 648 A
  1462. 1110(})S
  1463. (else)168 1194 A
  1464. 2340 V
  1465. (06571)210 648 A
  1466. 1110(if)S
  1467. ((strcmp(envp,)546 1236 A
  1468. ("mca"))252 1824 A
  1469. 2118(==)S
  1470. 2244(0))S
  1471. 2370({)S
  1472. 2430 V
  1473. (06572)210 648 A
  1474. (pc_at)210 1362 A
  1475. 1614(=)S
  1476. (ps_mca)252 1698 A
  1477. 1992(=)S
  1478. (TRUE;)210 2076 A
  1479. 2520 V
  1480. (06573)210 648 A
  1481. 1110(})S
  1482. 2610 V
  1483. (06574)210 648 A
  1484. 2700 V
  1485. (06575)210 648 A
  1486. 1110(/*)S
  1487. (Decide)252 1236 A
  1488. 1530(if)S
  1489. (mode)168 1656 A
  1490. 1866(is)S
  1491. (protected.)420 1992 A
  1492. 2454(*/)S
  1493. 2790 V
  1494. (06576)210 648 A
  1495. (#if)126 1026 A
  1496. (_WORD_SIZE)420 1194 A
  1497. 1656(==)S
  1498. 1782(2)S
  1499. 2880 V
  1500. (06577)210 648 A
  1501. (protected_mode)588 1110 A
  1502. 1740(=)S
  1503. (processor)378 1824 A
  1504. 2244(>=)S
  1505. (286;)168 2370 A
  1506. 2970 V
  1507. (06578)210 648 A
  1508. (#endif)252 1026 A
  1509. 3060 V
  1510. (06579)210 648 A
  1511. 3150 V
  1512. (06580)210 648 A
  1513. 1110(/*)S
  1514. 1236(Is)S
  1515. (there)210 1362 A
  1516. 1614(a)S
  1517. (monitor)294 1698 A
  1518. 2034(to)S
  1519. (return)252 2160 A
  1520. (to?)126 2454 A
  1521. 2664(If)S
  1522. 2790(so)S
  1523. (then)168 2916 A
  1524. (keep)168 3126 A
  1525. 3336(it)S
  1526. (safe.)210 3462 A
  1527. 3714(*/)S
  1528. 3240 V
  1529. (06581)210 648 A
  1530. 1110(if)S
  1531. ((!protected_mode))714 1236 A
  1532. (mon_return)420 1992 A
  1533. 2454(=)S
  1534. 2538(0;)S
  1535. 3330 V
  1536. (06582)210 648 A
  1537. (mon_start)378 1110 A
  1538. 1530(=)S
  1539. (mcode_base)420 1614 A
  1540. 2076(/)S
  1541. (1024;)210 2160 A
  1542. 3420 V
  1543. (06583)210 648 A
  1544. 1110(if)S
  1545. ((mon_return)462 1236 A
  1546. 1740(&&)S
  1547. (low_memsize)462 1866 A
  1548. 2370(>)S
  1549. (mon_start))420 2454 A
  1550. (low_memsize)462 2916 A
  1551. 3420(=)S
  1552. (mon_start;)420 3504 A
  1553. 3510 V
  1554. (06584)210 648 A
  1555. 3600 V
  1556. (06585)210 648 A
  1557. 1110(/*)S
  1558. (Return)252 1236 A
  1559. 1530(to)S
  1560. (assembler)378 1656 A
  1561. (code)168 2076 A
  1562. 2286(to)S
  1563. (switch)252 2412 A
  1564. 2706(to)S
  1565. (protected)378 2832 A
  1566. (mode)168 3252 A
  1567. ((if)126 3462 A
  1568. (286),)210 3630 A
  1569. (reload)252 3882 A
  1570. 3690 V
  1571. (06586)210 648 A
  1572. 1152(*)S
  1573. (selectors)378 1236 A
  1574. (and)126 1656 A
  1575. (call)168 1824 A
  1576. (main().)294 2034 A
  1577. 3780 V
  1578. (06587)210 648 A
  1579. 1152(*/)S
  1580. 3870 V
  1581. (06588)210 648 A
  1582. 1026(})S
  1583. 4140 V
  1584. (06591)210 648 A
  1585. (/*==========================================================================*)3234 1026 A
  1586. 4230 V
  1587. (06592)210 648 A
  1588. 1068(*)S
  1589. (k_atoi)252 2370 A
  1590. 4218(*)S
  1591. 4320 V
  1592. (06593)210 648 A
  1593. (*==========================================================================*/)3234 1068 A
  1594. 4410 V
  1595. (06594)210 648 A
  1596. (PRIVATE)294 1026 A
  1597. (int)126 1362 A
  1598. (k_atoi(s))378 1530 A
  1599. 4500 V
  1600. (06595)210 648 A
  1601. (register)336 1026 A
  1602. (char)168 1404 A
  1603. (*s;)126 1614 A
  1604. 4590 V
  1605. (06596)210 648 A
  1606. 1026({)S
  1607. 4680 V
  1608. (06597)210 648 A
  1609. 1026(/*)S
  1610. (Convert)294 1152 A
  1611. (string)252 1488 A
  1612. 1782(to)S
  1613. (integer.)336 1908 A
  1614. 2286(*/)S
  1615. 4770 V
  1616. (06598)210 648 A
  1617. 4860 V
  1618. (06599)210 648 A
  1619. (return)252 1110 A
  1620. (strtol(s,)378 1404 A
  1621. ((char)210 1824 A
  1622. (**))126 2076 A
  1623. (NULL,)210 2244 A
  1624. (10);)168 2496 A
  1625. 4950 V
  1626. (06600)210 648 A
  1627. 1026(})S
  1628. 5220 V
  1629. (06603)210 648 A
  1630. (/*==========================================================================*)3234 1026 A
  1631. 5310 V
  1632. (06604)210 648 A
  1633. 1068(*)S
  1634. (k_getenv)336 2370 A
  1635. 4218(*)S
  1636. 5400 V
  1637. (06605)210 648 A
  1638. (*==========================================================================*/)3234 1068 A
  1639. 5490 V
  1640. (06606)210 648 A
  1641. (PUBLIC)252 1026 A
  1642. (char)168 1320 A
  1643. (*k_getenv(name))630 1530 A
  1644. 5580 V
  1645. (06607)210 648 A
  1646. (char)168 1026 A
  1647. (*name;)252 1236 A
  1648. 5670 V
  1649. (06608)210 648 A
  1650. 1026({)S
  1651. 5760 V
  1652. (06609)210 648 A
  1653. 1026(/*)S
  1654. (Get)126 1152 A
  1655. (environment)462 1320 A
  1656. (value)210 1824 A
  1657. 2076(-)S
  1658. (kernel)252 2160 A
  1659. (version)294 2454 A
  1660. 2790(of)S
  1661. (getenv)252 2916 A
  1662. 3210(to)S
  1663. (avoid)210 3336 A
  1664. (setting)294 3588 A
  1665. 3924(up)S
  1666. (the)126 4050 A
  1667. 5850 V
  1668. (06610)210 648 A
  1669. 1068(*)S
  1670. (usual)210 1152 A
  1671. (environment)462 1404 A
  1672. (array.)252 1908 A
  1673. 5940 V
  1674. (06611)210 648 A
  1675. 1068(*/)S
  1676. 6030 V
  1677. (06612)210 648 A
  1678. 6120 V
  1679. (06613)210 648 A
  1680. (register)336 1110 A
  1681. (char)168 1488 A
  1682. (*namep;)294 1698 A
  1683. 6210 V
  1684. (06614)210 648 A
  1685. (register)336 1110 A
  1686. (char)168 1488 A
  1687. (*envp;)252 1698 A
  1688. 8418 V
  1689. EP
  1690. %%Page: 79 79
  1691. BP
  1692. /slant 0 def
  1693. /height 0 def
  1694. 630 V
  1695. 10 R
  1696. 648(MINIX)S
  1697. 976(SOURCE)S
  1698. 1399(CODE)S
  1699. 11 R
  1700. 2051(File:)S
  1701. 2284(src/kernel/start.c)S
  1702. 12 B
  1703. 4308(79)S
  1704. 900 V
  1705. 7 LST
  1706. (06615)210 648 A
  1707. 990 V
  1708. (06616)210 648 A
  1709. (for)126 1110 A
  1710. ((envp)210 1278 A
  1711. 1530(=)S
  1712. (k_environ;)420 1614 A
  1713. (*envp)210 2076 A
  1714. 2328(!=)S
  1715. (0;))126 2454 A
  1716. 2622({)S
  1717. 1080 V
  1718. (06617)210 648 A
  1719. (for)126 1362 A
  1720. ((namep)252 1530 A
  1721. 1824(=)S
  1722. (name;)210 1908 A
  1723. (*namep)252 2160 A
  1724. 2454(!=)S
  1725. 2580(0)S
  1726. 2664(&&)S
  1727. (*namep)252 2790 A
  1728. 3084(==)S
  1729. (*envp;)252 3210 A
  1730. (namep++,)336 3504 A
  1731. (envp++))294 3882 A
  1732. 1170 V
  1733. (06618)210 648 A
  1734. 1698(;)S
  1735. 1260 V
  1736. (06619)210 648 A
  1737. 1362(if)S
  1738. ((*namep)294 1488 A
  1739. 1824(==)S
  1740. ('\0')168 1950 A
  1741. 2160(&&)S
  1742. (*envp)210 2286 A
  1743. 2538(==)S
  1744. ('='))168 2664 A
  1745. (return(envp)462 2874 A
  1746. 3378(+)S
  1747. (1);)126 3462 A
  1748. 1350 V
  1749. (06620)210 648 A
  1750. (while)210 1362 A
  1751. ((*envp++)336 1614 A
  1752. 1992(!=)S
  1753. 2118(0))S
  1754. 1440 V
  1755. (06621)210 648 A
  1756. 1698(;)S
  1757. 1530 V
  1758. (06622)210 648 A
  1759. 1110(})S
  1760. 1620 V
  1761. (06623)210 648 A
  1762. (return(NIL_PTR);)672 1110 A
  1763. 1710 V
  1764. (06624)210 648 A
  1765. 1026(})S
  1766. 2340 V
  1767. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  1768. 2430 V
  1769. (src/kernel/main.c)714 2034 A
  1770. 2520 V
  1771. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  1772. 2700 V
  1773. (06700)210 648 A
  1774. 1026(/*)S
  1775. (This)168 1152 A
  1776. (file)168 1362 A
  1777. (contains)336 1572 A
  1778. (the)126 1950 A
  1779. (main)168 2118 A
  1780. (program)294 2328 A
  1781. 2664(of)S
  1782. (MINIX.)252 2790 A
  1783. (The)126 3126 A
  1784. (routine)294 3294 A
  1785. (main())252 3630 A
  1786. 2790 V
  1787. (06701)210 648 A
  1788. 1068(*)S
  1789. (initializes)462 1152 A
  1790. (the)126 1656 A
  1791. (system)252 1824 A
  1792. (and)126 2118 A
  1793. (starts)252 2286 A
  1794. (the)126 2580 A
  1795. (ball)168 2748 A
  1796. (rolling)294 2958 A
  1797. 3294(by)S
  1798. (setting)294 3420 A
  1799. 3756(up)S
  1800. (the)126 3882 A
  1801. (proc)168 4050 A
  1802. 2880 V
  1803. (06702)210 648 A
  1804. 1068(*)S
  1805. (table,)252 1152 A
  1806. (interrupt)378 1446 A
  1807. (vectors,)336 1866 A
  1808. (and)126 2244 A
  1809. (scheduling)420 2412 A
  1810. (each)168 2874 A
  1811. (task)168 3084 A
  1812. 3294(to)S
  1813. (run)126 3420 A
  1814. 3588(to)S
  1815. (initialize)420 3714 A
  1816. 2970 V
  1817. (06703)210 648 A
  1818. 1068(*)S
  1819. (itself.)294 1152 A
  1820. 3060 V
  1821. (06704)210 648 A
  1822. 1068(*)S
  1823. 3150 V
  1824. (06705)210 648 A
  1825. 1068(*)S
  1826. (The)126 1152 A
  1827. (entries)294 1320 A
  1828. (into)168 1656 A
  1829. (this)168 1866 A
  1830. (file)168 2076 A
  1831. (are:)168 2286 A
  1832. 3240 V
  1833. (06706)210 648 A
  1834. 1068(*)S
  1835. (main:)210 1236 A
  1836. (MINIX)210 2034 A
  1837. (main)168 2286 A
  1838. (program)294 2496 A
  1839. 3330 V
  1840. (06707)210 648 A
  1841. 1068(*)S
  1842. (panic:)252 1236 A
  1843. (abort)210 2034 A
  1844. (MINIX)210 2286 A
  1845. (due)126 2538 A
  1846. 2706(to)S
  1847. 2832(a)S
  1848. (fatal)210 2916 A
  1849. (error)210 3168 A
  1850. 3420 V
  1851. (06708)210 648 A
  1852. 1068(*/)S
  1853. 3510 V
  1854. (06709)210 648 A
  1855. 3600 V
  1856. (06710)210 648 A
  1857. (#include)336 1026 A
  1858. ("kernel.h")420 1404 A
  1859. 3690 V
  1860. (06711)210 648 A
  1861. (#include)336 1026 A
  1862. (<signal.h>)420 1404 A
  1863. 3780 V
  1864. (06712)210 648 A
  1865. (#include)336 1026 A
  1866. (<unistd.h>)420 1404 A
  1867. 3870 V
  1868. (06713)210 648 A
  1869. (#include)336 1026 A
  1870. (<minix/callnr.h>)672 1404 A
  1871. 3960 V
  1872. (06714)210 648 A
  1873. (#include)336 1026 A
  1874. (<minix/com.h>)546 1404 A
  1875. 4050 V
  1876. (06715)210 648 A
  1877. (#include)336 1026 A
  1878. ("proc.h")336 1404 A
  1879. 4140 V
  1880. (06716)210 648 A
  1881. 4230 V
  1882. (06717)210 648 A
  1883. 4320 V
  1884. (06718)210 648 A
  1885. (/*===========================================================================*)3276 1026 A
  1886. 4410 V
  1887. (06719)210 648 A
  1888. 1068(*)S
  1889. (main)168 2580 A
  1890. 4260(*)S
  1891. 4500 V
  1892. (06720)210 648 A
  1893. (*===========================================================================*/)3276 1068 A
  1894. 4590 V
  1895. (06721)210 648 A
  1896. (PUBLIC)252 1026 A
  1897. (void)168 1320 A
  1898. (main())252 1530 A
  1899. 4680 V
  1900. (06722)210 648 A
  1901. 1026({)S
  1902. 4770 V
  1903. (06723)210 648 A
  1904. 1026(/*)S
  1905. (Start)210 1152 A
  1906. (the)126 1404 A
  1907. (ball)168 1572 A
  1908. (rolling.)336 1782 A
  1909. 2160(*/)S
  1910. 4860 V
  1911. (06724)210 648 A
  1912. 4950 V
  1913. (06725)210 648 A
  1914. (register)336 1110 A
  1915. (struct)252 1488 A
  1916. (proc)168 1782 A
  1917. (*rp;)168 1992 A
  1918. 5040 V
  1919. (06726)210 648 A
  1920. (register)336 1110 A
  1921. (int)126 1488 A
  1922. 1656(t;)S
  1923. 5130 V
  1924. (06727)210 648 A
  1925. (int)126 1110 A
  1926. (sizeindex;)420 1278 A
  1927. 5220 V
  1928. (06728)210 648 A
  1929. (phys_clicks)462 1110 A
  1930. (text_base;)420 1614 A
  1931. 5310 V
  1932. (06729)210 648 A
  1933. (vir_clicks)420 1110 A
  1934. (text_clicks;)504 1572 A
  1935. 5400 V
  1936. (06730)210 648 A
  1937. (vir_clicks)420 1110 A
  1938. (data_clicks;)504 1572 A
  1939. 5490 V
  1940. (06731)210 648 A
  1941. (phys_bytes)420 1110 A
  1942. (phys_b;)294 1572 A
  1943. 5580 V
  1944. (06732)210 648 A
  1945. (reg_t)210 1110 A
  1946. (ktsb;)210 1362 A
  1947. 2370(/*)S
  1948. (kernel)252 2496 A
  1949. (task)168 2790 A
  1950. (stack)210 3000 A
  1951. (base)168 3252 A
  1952. 3462(*/)S
  1953. 5670 V
  1954. (06733)210 648 A
  1955. (struct)252 1110 A
  1956. (memory)252 1404 A
  1957. (*memp;)252 1698 A
  1958. 5760 V
  1959. (06734)210 648 A
  1960. (struct)252 1110 A
  1961. (tasktab)294 1404 A
  1962. (*ttp;)210 1740 A
  1963. 5850 V
  1964. (06735)210 648 A
  1965. 5940 V
  1966. (06736)210 648 A
  1967. 1110(/*)S
  1968. (Initialize)420 1236 A
  1969. (the)126 1698 A
  1970. (interrupt)378 1866 A
  1971. (controller.)462 2286 A
  1972. 2790(*/)S
  1973. 6030 V
  1974. (06737)210 648 A
  1975. (intr_init(1);)546 1110 A
  1976. 6120 V
  1977. (06738)210 648 A
  1978. 6210 V
  1979. (06739)210 648 A
  1980. 1110(/*)S
  1981. (Interpret)378 1236 A
  1982. (memory)252 1656 A
  1983. (sizes.)252 1950 A
  1984. 2244(*/)S
  1985. 8418 V
  1986. EP
  1987. %%Page: 80 80
  1988. BP
  1989. /slant 0 def
  1990. /height 0 def
  1991. 630 V
  1992. 12 B
  1993. 648(80)S
  1994. 11 R
  1995. 2036(File:)S
  1996. 2269(src/kernel/main.c)S
  1997. 10 R
  1998. 3402(MINIX)S
  1999. 3730(SOURCE)S
  2000. 4153(CODE)S
  2001. 900 V
  2002. 7 LST
  2003. (06740)210 648 A
  2004. (mem_init();)462 1110 A
  2005. 990 V
  2006. (06741)210 648 A
  2007. 1080 V
  2008. (06742)210 648 A
  2009. 1110(/*)S
  2010. (Clear)210 1236 A
  2011. (the)126 1488 A
  2012. (process)294 1656 A
  2013. (table.)252 1992 A
  2014. 1170 V
  2015. (06743)210 648 A
  2016. 1152(*)S
  2017. (Set)126 1236 A
  2018. 1404(up)S
  2019. (mappings)336 1530 A
  2020. (for)126 1908 A
  2021. (proc_addr())462 2076 A
  2022. (and)126 2580 A
  2023. (proc_number())546 2748 A
  2024. (macros.)294 3336 A
  2025. 1260 V
  2026. (06744)210 648 A
  2027. 1152(*/)S
  2028. 1350 V
  2029. (06745)210 648 A
  2030. (for)126 1110 A
  2031. ((rp)126 1278 A
  2032. 1446(=)S
  2033. (BEG_PROC_ADDR,)588 1530 A
  2034. 2160(t)S
  2035. 2244(=)S
  2036. (-NR_TASKS;)420 2328 A
  2037. 2790(rp)S
  2038. 2916(<)S
  2039. (END_PROC_ADDR;)588 3000 A
  2040. (++rp,)210 3630 A
  2041. (++t))168 3882 A
  2042. 4092({)S
  2043. 1440 V
  2044. (06746)210 648 A
  2045. (rp->p_flags)462 1362 A
  2046. 1866(=)S
  2047. (P_SLOT_FREE;)504 1950 A
  2048. 1530 V
  2049. (06747)210 648 A
  2050. (rp->p_nr)336 1362 A
  2051. 1740(=)S
  2052. 1824(t;)S
  2053. 2370(/*)S
  2054. (proc)168 2496 A
  2055. (number)252 2706 A
  2056. (from)168 3000 A
  2057. (ptr)126 3210 A
  2058. 3378(*/)S
  2059. 1620 V
  2060. (06748)210 648 A
  2061. ((pproc_addr)462 1362 A
  2062. 1866(+)S
  2063. (NR_TASKS)[t])504 1950 A
  2064. 2496(=)S
  2065. (rp;)126 2580 A
  2066. 3042(/*)S
  2067. (proc)168 3168 A
  2068. (ptr)126 3378 A
  2069. (from)168 3546 A
  2070. (number)252 3756 A
  2071. 4050(*/)S
  2072. 1710 V
  2073. (06749)210 648 A
  2074. 1110(})S
  2075. 1800 V
  2076. (06750)210 648 A
  2077. 1890 V
  2078. (06751)210 648 A
  2079. 1110(/*)S
  2080. (Set)126 1236 A
  2081. 1404(up)S
  2082. (proc)168 1530 A
  2083. (table)210 1740 A
  2084. (entries)294 1992 A
  2085. (for)126 2328 A
  2086. (tasks)210 2496 A
  2087. (and)126 2748 A
  2088. (servers.)336 2916 A
  2089. (The)126 3336 A
  2090. (stacks)252 3504 A
  2091. 3798(of)S
  2092. (the)126 3924 A
  2093. 1980 V
  2094. (06752)210 648 A
  2095. 1152(*)S
  2096. (kernel)252 1236 A
  2097. (tasks)210 1530 A
  2098. (are)126 1782 A
  2099. (initialized)462 1950 A
  2100. 2454(to)S
  2101. 2580(an)S
  2102. (array)210 2706 A
  2103. 2958(in)S
  2104. (data)168 3084 A
  2105. (space.)252 3294 A
  2106. (The)126 3630 A
  2107. (stacks)252 3798 A
  2108. 2070 V
  2109. (06753)210 648 A
  2110. 1152(*)S
  2111. 1236(of)S
  2112. (the)126 1362 A
  2113. (servers)294 1530 A
  2114. (have)168 1866 A
  2115. (been)168 2076 A
  2116. (added)210 2286 A
  2117. 2538(to)S
  2118. (the)126 2664 A
  2119. (data)168 2832 A
  2120. (segment)294 3042 A
  2121. 3378(by)S
  2122. (the)126 3504 A
  2123. (monitor,)336 3672 A
  2124. 4050(so)S
  2125. 2160 V
  2126. (06754)210 648 A
  2127. 1152(*)S
  2128. (the)126 1236 A
  2129. (stack)210 1404 A
  2130. (pointer)294 1656 A
  2131. 1992(is)S
  2132. (set)126 2118 A
  2133. 2286(to)S
  2134. (the)126 2412 A
  2135. (end)126 2580 A
  2136. 2748(of)S
  2137. (the)126 2874 A
  2138. (data)168 3042 A
  2139. (segment.)336 3252 A
  2140. (All)126 3672 A
  2141. (the)126 3840 A
  2142. 2250 V
  2143. (06755)210 648 A
  2144. 1152(*)S
  2145. (processes)378 1236 A
  2146. (are)126 1656 A
  2147. 1824(in)S
  2148. (low)126 1950 A
  2149. (memory)252 2118 A
  2150. 2412(on)S
  2151. (the)126 2538 A
  2152. (8086.)210 2706 A
  2153. 3000(On)S
  2154. (the)126 3126 A
  2155. (386)126 3294 A
  2156. (only)168 3462 A
  2157. (the)126 3672 A
  2158. (kernel)252 3840 A
  2159. 2340 V
  2160. (06756)210 648 A
  2161. 1152(*)S
  2162. 1236(is)S
  2163. 1362(in)S
  2164. (low)126 1488 A
  2165. (memory,)294 1656 A
  2166. (the)126 1992 A
  2167. (rest)168 2160 A
  2168. 2370(if)S
  2169. (loaded)252 2496 A
  2170. 2790(in)S
  2171. (extended)336 2916 A
  2172. (memory.)294 3294 A
  2173. 2430 V
  2174. (06757)210 648 A
  2175. 1152(*/)S
  2176. 2520 V
  2177. (06758)210 648 A
  2178. 2610 V
  2179. (06759)210 648 A
  2180. 1110(/*)S
  2181. (Task)168 1236 A
  2182. (stacks.)294 1446 A
  2183. 1782(*/)S
  2184. 2700 V
  2185. (06760)210 648 A
  2186. (ktsb)168 1110 A
  2187. 1320(=)S
  2188. ((reg_t))294 1404 A
  2189. (t_stack;)336 1740 A
  2190. 2790 V
  2191. (06761)210 648 A
  2192. 2880 V
  2193. (06762)210 648 A
  2194. (for)126 1110 A
  2195. 1278((t)S
  2196. 1404(=)S
  2197. (-NR_TASKS;)420 1488 A
  2198. 1950(t)S
  2199. 2034(<=)S
  2200. (LOW_USER;)378 2160 A
  2201. (++t))168 2580 A
  2202. 2790({)S
  2203. 2970 V
  2204. (06763)210 648 A
  2205. 1362(rp)S
  2206. 1488(=)S
  2207. (proc_addr(t);)546 1572 A
  2208. 3042(/*)S
  2209. (t's)126 3168 A
  2210. (process)294 3336 A
  2211. (slot)168 3672 A
  2212. 3882(*/)S
  2213. 3060 V
  2214. (06764)210 648 A
  2215. (ttp)126 1362 A
  2216. 1530(=)S
  2217. (&tasktab[t)420 1614 A
  2218. 2076(+)S
  2219. (NR_TASKS];)420 2160 A
  2220. 3042(/*)S
  2221. (t's)126 3168 A
  2222. (task)168 3336 A
  2223. (attributes)420 3546 A
  2224. 4008(*/)S
  2225. 3150 V
  2226. (06765)210 648 A
  2227. (strcpy(rp->p_name,)756 1362 A
  2228. (ttp->name);)462 2160 A
  2229. 3240 V
  2230. (06766)210 648 A
  2231. 1362(if)S
  2232. 1488((t)S
  2233. 1614(<)S
  2234. 1698(0))S
  2235. 1824({)S
  2236. 3330 V
  2237. (06767)210 648 A
  2238. 1698(if)S
  2239. ((ttp->stksize)546 1824 A
  2240. 2412(>)S
  2241. 2496(0))S
  2242. 2622({)S
  2243. 3420 V
  2244. (06768)210 648 A
  2245. (rp->p_stguard)546 2034 A
  2246. 2622(=)S
  2247. ((reg_t)252 2706 A
  2248. 3000(*))S
  2249. (ktsb;)210 3126 A
  2250. 3510 V
  2251. (06769)210 648 A
  2252. (*rp->p_stguard)588 2034 A
  2253. 2664(=)S
  2254. (STACK_GUARD;)504 2748 A
  2255. 3600 V
  2256. (06770)210 648 A
  2257. 1698(})S
  2258. 3690 V
  2259. (06771)210 648 A
  2260. (ktsb)168 1698 A
  2261. 1908(+=)S
  2262. (ttp->stksize;)546 2034 A
  2263. 3780 V
  2264. (06772)210 648 A
  2265. (rp->p_reg.sp)504 1698 A
  2266. 2244(=)S
  2267. (ktsb;)210 2328 A
  2268. 3870 V
  2269. (06773)210 648 A
  2270. (text_base)378 1698 A
  2271. 2118(=)S
  2272. (code_base)378 2202 A
  2273. 2622(>>)S
  2274. (CLICK_SHIFT;)504 2748 A
  2275. 3960 V
  2276. (06774)210 648 A
  2277. 2706(/*)S
  2278. (tasks)210 2832 A
  2279. (are)126 3084 A
  2280. (all)126 3252 A
  2281. 3420(in)S
  2282. (the)126 3546 A
  2283. (kernel)252 3714 A
  2284. 4008(*/)S
  2285. 4050 V
  2286. (06775)210 648 A
  2287. (sizeindex)378 1698 A
  2288. 2118(=)S
  2289. 2202(0;)S
  2290. 2706(/*)S
  2291. (and)126 2832 A
  2292. (use)126 3000 A
  2293. (the)126 3168 A
  2294. (full)168 3336 A
  2295. (kernel)252 3546 A
  2296. (sizes)210 3840 A
  2297. 4092(*/)S
  2298. 4140 V
  2299. (06776)210 648 A
  2300. (memp)168 1698 A
  2301. 1908(=)S
  2302. (&mem[0];)336 1992 A
  2303. 2706(/*)S
  2304. (remove)252 2832 A
  2305. (from)168 3126 A
  2306. (this)168 3336 A
  2307. (memory)252 3546 A
  2308. (chunk)210 3840 A
  2309. 4092(*/)S
  2310. 4230 V
  2311. (06777)210 648 A
  2312. 1362(})S
  2313. (else)168 1446 A
  2314. 1656({)S
  2315. 4320 V
  2316. (06778)210 648 A
  2317. (sizeindex)378 1698 A
  2318. 2118(=)S
  2319. 2202(2)S
  2320. 2286(*)S
  2321. 2370(t)S
  2322. 2454(+)S
  2323. 2538(2;)S
  2324. 2706(/*)S
  2325. (MM,)126 2832 A
  2326. (FS,)126 3000 A
  2327. (INIT)168 3168 A
  2328. (have)168 3378 A
  2329. (their)210 3588 A
  2330. (own)126 3840 A
  2331. (sizes)210 4008 A
  2332. 4260(*/)S
  2333. 4410 V
  2334. (06779)210 648 A
  2335. 1362(})S
  2336. 4500 V
  2337. (06780)210 648 A
  2338. (rp->p_reg.pc)504 1362 A
  2339. 1908(=)S
  2340. ((reg_t))294 1992 A
  2341. (ttp->initial_pc;)672 2328 A
  2342. 4590 V
  2343. (06781)210 648 A
  2344. (rp->p_reg.psw)546 1362 A
  2345. 1950(=)S
  2346. (istaskp(rp))462 2034 A
  2347. 2538(?)S
  2348. (INIT_TASK_PSW)546 2622 A
  2349. 3210(:)S
  2350. (INIT_PSW;)378 3294 A
  2351. 4680 V
  2352. (06782)210 648 A
  2353. 4770 V
  2354. (06783)210 648 A
  2355. (text_clicks)462 1362 A
  2356. 1866(=)S
  2357. (sizes[sizeindex];)714 1950 A
  2358. 4860 V
  2359. (06784)210 648 A
  2360. (data_clicks)462 1362 A
  2361. 1866(=)S
  2362. (sizes[sizeindex)630 1950 A
  2363. 2622(+)S
  2364. (1];)126 2706 A
  2365. 4950 V
  2366. (06785)210 648 A
  2367. (rp->p_map[T].mem_phys)882 1362 A
  2368. 2286(=)S
  2369. (text_base;)420 2370 A
  2370. 5040 V
  2371. (06786)210 648 A
  2372. (rp->p_map[T].mem_len)840 1362 A
  2373. 2286(=)S
  2374. (text_clicks;)504 2370 A
  2375. 5130 V
  2376. (06787)210 648 A
  2377. (rp->p_map[D].mem_phys)882 1362 A
  2378. 2286(=)S
  2379. (text_base)378 2370 A
  2380. 2790(+)S
  2381. (text_clicks;)504 2874 A
  2382. 5220 V
  2383. (06788)210 648 A
  2384. (rp->p_map[D].mem_len)840 1362 A
  2385. 2286(=)S
  2386. (data_clicks;)504 2370 A
  2387. 5310 V
  2388. (06789)210 648 A
  2389. (rp->p_map[S].mem_phys)882 1362 A
  2390. 2286(=)S
  2391. (text_base)378 2370 A
  2392. 2790(+)S
  2393. (text_clicks)462 2874 A
  2394. 3378(+)S
  2395. (data_clicks;)504 3462 A
  2396. 5400 V
  2397. (06790)210 648 A
  2398. (rp->p_map[S].mem_vir)840 1362 A
  2399. 2286(=)S
  2400. (data_clicks;)504 2370 A
  2401. 3042(/*)S
  2402. (empty)210 3168 A
  2403. 3420(-)S
  2404. (stack)210 3504 A
  2405. 3756(is)S
  2406. 3882(in)S
  2407. (data)168 4008 A
  2408. 4218(*/)S
  2409. 5490 V
  2410. (06791)210 648 A
  2411. (text_base)378 1362 A
  2412. 1782(+=)S
  2413. (text_clicks)462 1908 A
  2414. 2412(+)S
  2415. (data_clicks;)504 2496 A
  2416. 3042(/*)S
  2417. (ready)210 3168 A
  2418. (for)126 3420 A
  2419. (next,)210 3588 A
  2420. 3840(if)S
  2421. (server)252 3966 A
  2422. 4260(*/)S
  2423. 5580 V
  2424. (06792)210 648 A
  2425. (memp->size)420 1362 A
  2426. 1824(-=)S
  2427. ((text_base)420 1950 A
  2428. 2412(-)S
  2429. (memp->base);)504 2496 A
  2430. 5670 V
  2431. (06793)210 648 A
  2432. (memp->base)420 1362 A
  2433. 1824(=)S
  2434. (text_base;)420 1908 A
  2435. 3042(/*)S
  2436. (memory)252 3168 A
  2437. 3462(no)S
  2438. (longer)252 3588 A
  2439. (free)168 3882 A
  2440. 4092(*/)S
  2441. 5760 V
  2442. (06794)210 648 A
  2443. 5850 V
  2444. (06795)210 648 A
  2445. 1362(if)S
  2446. 1488((t)S
  2447. 1614(>=)S
  2448. 1740(0))S
  2449. 1866({)S
  2450. 5940 V
  2451. (06796)210 648 A
  2452. 1698(/*)S
  2453. (Initialize)420 1824 A
  2454. (the)126 2286 A
  2455. (server)252 2454 A
  2456. (stack)210 2748 A
  2457. (pointer.)336 3000 A
  2458. (Take)168 3420 A
  2459. 3630(it)S
  2460. (down)168 3756 A
  2461. (one)126 3966 A
  2462. (word)168 4134 A
  2463. 6030 V
  2464. (06797)210 648 A
  2465. 1740(*)S
  2466. 1824(to)S
  2467. (give)168 1950 A
  2468. (crtso.s)294 2160 A
  2469. (something)378 2496 A
  2470. 2916(to)S
  2471. (use)126 3042 A
  2472. 3210(as)S
  2473. ("argc".)294 3336 A
  2474. 6120 V
  2475. (06798)210 648 A
  2476. 1740(*/)S
  2477. 6210 V
  2478. (06799)210 648 A
  2479. (rp->p_reg.sp)504 1698 A
  2480. 2244(=)S
  2481. ((rp->p_map[S].mem_vir)882 2328 A
  2482. 3252(+)S
  2483. 8418 V
  2484. EP
  2485. %%Page: 81 81
  2486. BP
  2487. /slant 0 def
  2488. /height 0 def
  2489. 630 V
  2490. 10 R
  2491. 648(MINIX)S
  2492. 976(SOURCE)S
  2493. 1399(CODE)S
  2494. 11 R
  2495. 2036(File:)S
  2496. 2269(src/kernel/main.c)S
  2497. 12 B
  2498. 4308(81)S
  2499. 900 V
  2500. 7 LST
  2501. (06800)210 648 A
  2502. (rp->p_map[S].mem_len))882 2370 A
  2503. 3294(<<)S
  2504. (CLICK_SHIFT;)504 3420 A
  2505. 990 V
  2506. (06801)210 648 A
  2507. (rp->p_reg.sp)504 1698 A
  2508. 2244(-=)S
  2509. (sizeof(reg_t);)588 2370 A
  2510. 1080 V
  2511. (06802)210 648 A
  2512. 1362(})S
  2513. 1170 V
  2514. (06803)210 648 A
  2515. 1260 V
  2516. (06804)210 648 A
  2517. (#if)126 1026 A
  2518. (_WORD_SIZE)420 1194 A
  2519. 1656(==)S
  2520. 1782(4)S
  2521. 1350 V
  2522. (06805)210 648 A
  2523. 1362(/*)S
  2524. (Servers)294 1488 A
  2525. (are)126 1824 A
  2526. (loaded)252 1992 A
  2527. 2286(in)S
  2528. (extended)336 2412 A
  2529. (memory)252 2790 A
  2530. 3084(if)S
  2531. 3210(in)S
  2532. (386)126 3336 A
  2533. (mode.)210 3504 A
  2534. 3756(*/)S
  2535. 1440 V
  2536. (06806)210 648 A
  2537. 1362(if)S
  2538. 1488((t)S
  2539. 1614(<)S
  2540. 1698(0))S
  2541. 1824({)S
  2542. 1530 V
  2543. (06807)210 648 A
  2544. (memp)168 1698 A
  2545. 1908(=)S
  2546. (&mem[1];)336 1992 A
  2547. 1620 V
  2548. (06808)210 648 A
  2549. (text_base)378 1698 A
  2550. 2118(=)S
  2551. (0x100000)336 2202 A
  2552. 2580(>>)S
  2553. (CLICK_SHIFT;)504 2706 A
  2554. 1710 V
  2555. (06809)210 648 A
  2556. 1362(})S
  2557. 1800 V
  2558. (06810)210 648 A
  2559. (#endif)252 1026 A
  2560. 1890 V
  2561. (06811)210 648 A
  2562. 1362(if)S
  2563. ((!isidlehardware(t)))840 1488 A
  2564. (lock_ready(rp);)630 2370 A
  2565. 3042(/*)S
  2566. (IDLE,)210 3168 A
  2567. (HARDWARE)336 3420 A
  2568. (neveready)378 3798 A
  2569. 4218(*/)S
  2570. 1980 V
  2571. (06812)210 648 A
  2572. (rp->p_flags)462 1362 A
  2573. 1866(=)S
  2574. 1950(0;)S
  2575. 2070 V
  2576. (06813)210 648 A
  2577. 2160 V
  2578. (06814)210 648 A
  2579. (alloc_segments(rp);)798 1362 A
  2580. 2250 V
  2581. (06815)210 648 A
  2582. 1110(})S
  2583. 2340 V
  2584. (06816)210 648 A
  2585. 2430 V
  2586. (06817)210 648 A
  2587. (proc[NR_TASKS+INIT_PROC_NR].p_pid)1386 1110 A
  2588. 2538(=)S
  2589. (1;/*)168 2622 A
  2590. (INIT)168 2832 A
  2591. 3042(of)S
  2592. (course)252 3168 A
  2593. (has)126 3462 A
  2594. (pid)126 3630 A
  2595. 3798(1)S
  2596. 3882(*/)S
  2597. 2520 V
  2598. (06818)210 648 A
  2599. (bill_ptr)336 1110 A
  2600. 1488(=)S
  2601. (proc_addr(IDLE);)672 1572 A
  2602. 2706(/*)S
  2603. 2832(it)S
  2604. (has)126 2958 A
  2605. 3126(to)S
  2606. (point)210 3252 A
  2607. (somewhere)378 3504 A
  2608. 3924(*/)S
  2609. 2610 V
  2610. (06819)210 648 A
  2611. (lock_pick_proc();)714 1110 A
  2612. 2700 V
  2613. (06820)210 648 A
  2614. 2790 V
  2615. (06821)210 648 A
  2616. 1110(/*)S
  2617. (Now)126 1236 A
  2618. 1404(go)S
  2619. 1530(to)S
  2620. (the)126 1656 A
  2621. (assembly)336 1824 A
  2622. (code)168 2202 A
  2623. 2412(to)S
  2624. (start)210 2538 A
  2625. (running)294 2790 A
  2626. (the)126 3126 A
  2627. (current)294 3294 A
  2628. (process.)336 3630 A
  2629. 4008(*/)S
  2630. 2880 V
  2631. (06822)210 648 A
  2632. (restart();)420 1110 A
  2633. 2970 V
  2634. (06823)210 648 A
  2635. 1026(})S
  2636. 3240 V
  2637. (06826)210 648 A
  2638. (/*===========================================================================*)3276 1026 A
  2639. 3330 V
  2640. (06827)210 648 A
  2641. 1068(*)S
  2642. (panic)210 2580 A
  2643. 4260(*)S
  2644. 3420 V
  2645. (06828)210 648 A
  2646. (*===========================================================================*/)3276 1068 A
  2647. 3510 V
  2648. (06829)210 648 A
  2649. (PUBLIC)252 1026 A
  2650. (void)168 1320 A
  2651. (panic(s,n))420 1530 A
  2652. 3600 V
  2653. (06830)210 648 A
  2654. (_CONST)252 1026 A
  2655. (char)168 1320 A
  2656. (*s;)126 1530 A
  2657. 3690 V
  2658. (06831)210 648 A
  2659. (int)126 1026 A
  2660. 1194(n;)S
  2661. 3780 V
  2662. (06832)210 648 A
  2663. 1026({)S
  2664. 3870 V
  2665. (06833)210 648 A
  2666. 1026(/*)S
  2667. (The)126 1152 A
  2668. (system)252 1320 A
  2669. (has)126 1614 A
  2670. (run)126 1782 A
  2671. (aground)294 1950 A
  2672. 2286(of)S
  2673. 2412(a)S
  2674. (fatal)210 2496 A
  2675. (error.)252 2748 A
  2676. (Terminate)378 3084 A
  2677. (execution.)420 3504 A
  2678. 3960 V
  2679. (06834)210 648 A
  2680. 1068(*)S
  2681. 1152(If)S
  2682. (the)126 1278 A
  2683. (panic)210 1446 A
  2684. (originated)420 1698 A
  2685. 2160(in)S
  2686. 2286(MM)S
  2687. 2412(or)S
  2688. (FS,)126 2538 A
  2689. (the)126 2706 A
  2690. (string)252 2874 A
  2691. (will)168 3168 A
  2692. 3378(be)S
  2693. (empty)210 3504 A
  2694. (and)126 3756 A
  2695. (the)126 3924 A
  2696. 4050 V
  2697. (06835)210 648 A
  2698. 1068(*)S
  2699. (file)168 1152 A
  2700. (system)252 1362 A
  2701. (already)294 1656 A
  2702. (syncked.)336 1992 A
  2703. 2412(If)S
  2704. (the)126 2538 A
  2705. (panic)210 2706 A
  2706. (originates)420 2958 A
  2707. 3420(in)S
  2708. (the)126 3546 A
  2709. (kernel,)294 3714 A
  2710. 4050(we)S
  2711. (are)126 4176 A
  2712. 4140 V
  2713. (06836)210 648 A
  2714. 1068(*)S
  2715. (kind)168 1152 A
  2716. 1362(of)S
  2717. (stuck.)252 1488 A
  2718. 4230 V
  2719. (06837)210 648 A
  2720. 1068(*/)S
  2721. 4320 V
  2722. (06838)210 648 A
  2723. 4410 V
  2724. (06839)210 648 A
  2725. 1110(if)S
  2726. ((*s)126 1236 A
  2727. 1404(!=)S
  2728. 1530(0))S
  2729. 1656({)S
  2730. 4500 V
  2731. (06840)210 648 A
  2732. (printf("\nKernel)672 1362 A
  2733. (panic:)252 2076 A
  2734. (%s",s);)294 2370 A
  2735. 4590 V
  2736. (06841)210 648 A
  2737. 1362(if)S
  2738. 1488((n)S
  2739. 1614(!=)S
  2740. (NO_NUM))294 1740 A
  2741. (printf(")336 2076 A
  2742. (%d",)168 2454 A
  2743. (n);)126 2664 A
  2744. 4680 V
  2745. (06842)210 648 A
  2746. (printf("\n");)546 1362 A
  2747. 4770 V
  2748. (06843)210 648 A
  2749. 1110(})S
  2750. 4860 V
  2751. (06844)210 648 A
  2752. (wreboot(RBT_PANIC);)798 1110 A
  2753. 4950 V
  2754. (06845)210 648 A
  2755. 1026(})S
  2756. 8418 V
  2757. EP
  2758. %%Page: 82 82
  2759. BP
  2760. /slant 0 def
  2761. /height 0 def
  2762. 630 V
  2763. 12 B
  2764. 648(82)S
  2765. 11 R
  2766. 2049(File:)S
  2767. 2282(src/kernel/proc.c)S
  2768. 10 R
  2769. 3402(MINIX)S
  2770. 3730(SOURCE)S
  2771. 4153(CODE)S
  2772. 990 V
  2773. 7 LST
  2774. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  2775. 1080 V
  2776. (src/kernel/proc.c)714 2034 A
  2777. 1170 V
  2778. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  2779. 1350 V
  2780. (06900)210 648 A
  2781. 1026(/*)S
  2782. (This)168 1152 A
  2783. (file)168 1362 A
  2784. (contains)336 1572 A
  2785. (essentially)462 1950 A
  2786. (all)126 2454 A
  2787. 2622(of)S
  2788. (the)126 2748 A
  2789. (process)294 2916 A
  2790. (and)126 3252 A
  2791. (message)294 3420 A
  2792. (handling.)378 3756 A
  2793. 1440 V
  2794. (06901)210 648 A
  2795. 1068(*)S
  2796. 1152(It)S
  2797. (has)126 1278 A
  2798. (two)126 1446 A
  2799. (main)168 1614 A
  2800. (entry)210 1824 A
  2801. (points)252 2076 A
  2802. (from)168 2370 A
  2803. (the)126 2580 A
  2804. (outside:)336 2748 A
  2805. 1530 V
  2806. (06902)210 648 A
  2807. 1068(*)S
  2808. 1620 V
  2809. (06903)210 648 A
  2810. 1068(*)S
  2811. (sys_call:)378 1236 A
  2812. (called)252 1740 A
  2813. (when)168 2034 A
  2814. 2244(a)S
  2815. (process)294 2328 A
  2816. 2664(or)S
  2817. (task)168 2790 A
  2818. (does)168 3000 A
  2819. (SEND,)210 3210 A
  2820. (RECEIVE)294 3462 A
  2821. 3798(or)S
  2822. (SENDREC)294 3924 A
  2823. 1710 V
  2824. (06904)210 648 A
  2825. 1068(*)S
  2826. (interrupt:)420 1236 A
  2827. (called)252 1698 A
  2828. 1992(by)S
  2829. (interrupt)378 2118 A
  2830. (routines)336 2538 A
  2831. 2916(to)S
  2832. (send)168 3042 A
  2833. 3252(a)S
  2834. (message)294 3336 A
  2835. 3672(to)S
  2836. (task)168 3798 A
  2837. 1800 V
  2838. (06905)210 648 A
  2839. 1068(*)S
  2840. 1890 V
  2841. (06906)210 648 A
  2842. 1068(*)S
  2843. 1152(It)S
  2844. (also)168 1278 A
  2845. (has)126 1488 A
  2846. (several)294 1656 A
  2847. (minor)210 1992 A
  2848. (entry)210 2244 A
  2849. (points:)294 2496 A
  2850. 1980 V
  2851. (06907)210 648 A
  2852. 1068(*)S
  2853. 2070 V
  2854. (06908)210 648 A
  2855. 1068(*)S
  2856. (lock_ready:)462 1236 A
  2857. (put)126 1950 A
  2858. 2118(a)S
  2859. (process)294 2202 A
  2860. 2538(on)S
  2861. (one)126 2664 A
  2862. 2832(of)S
  2863. (the)126 2958 A
  2864. (ready)210 3126 A
  2865. (queues)252 3378 A
  2866. 3672(so)S
  2867. 3798(it)S
  2868. (can)126 3924 A
  2869. 4092(be)S
  2870. (run)126 4218 A
  2871. 2160 V
  2872. (06909)210 648 A
  2873. 1068(*)S
  2874. (lock_unready:)546 1236 A
  2875. (remove)252 1950 A
  2876. 2244(a)S
  2877. (process)294 2328 A
  2878. (from)168 2664 A
  2879. (the)126 2874 A
  2880. (ready)210 3042 A
  2881. (queues)252 3294 A
  2882. 2250 V
  2883. (06910)210 648 A
  2884. 1068(*)S
  2885. (lock_sched:)462 1236 A
  2886. 1950(a)S
  2887. (process)294 2034 A
  2888. (has)126 2370 A
  2889. (run)126 2538 A
  2890. (too)126 2706 A
  2891. (long;)210 2874 A
  2892. (schedule)336 3126 A
  2893. (another)294 3504 A
  2894. (one)126 3840 A
  2895. 2340 V
  2896. (06911)210 648 A
  2897. 1068(*)S
  2898. (lock_mini_send:)630 1236 A
  2899. (send)168 1950 A
  2900. 2160(a)S
  2901. (message)294 2244 A
  2902. ((used)210 2580 A
  2903. 2832(by)S
  2904. (interrupt)378 2958 A
  2905. (signals,)336 3378 A
  2906. (etc.))210 3756 A
  2907. 2430 V
  2908. (06912)210 648 A
  2909. 1068(*)S
  2910. (lock_pick_proc:)630 1236 A
  2911. (pick)168 1950 A
  2912. 2160(a)S
  2913. (process)294 2244 A
  2914. 2580(to)S
  2915. (run)126 2706 A
  2916. ((used)210 2874 A
  2917. 3126(by)S
  2918. (system)252 3252 A
  2919. (initialization))630 3546 A
  2920. 2520 V
  2921. (06913)210 648 A
  2922. 1068(*)S
  2923. (unhold:)294 1236 A
  2924. (repeat)252 1950 A
  2925. (all)126 2244 A
  2926. (held-up)294 2412 A
  2927. (interrupts)420 2748 A
  2928. 2610 V
  2929. (06914)210 648 A
  2930. 1068(*/)S
  2931. 2700 V
  2932. (06915)210 648 A
  2933. 2790 V
  2934. (06916)210 648 A
  2935. (#include)336 1026 A
  2936. ("kernel.h")420 1404 A
  2937. 2880 V
  2938. (06917)210 648 A
  2939. (#include)336 1026 A
  2940. (<minix/callnr.h>)672 1404 A
  2941. 2970 V
  2942. (06918)210 648 A
  2943. (#include)336 1026 A
  2944. (<minix/com.h>)546 1404 A
  2945. 3060 V
  2946. (06919)210 648 A
  2947. (#include)336 1026 A
  2948. ("proc.h")336 1404 A
  2949. 3150 V
  2950. (06920)210 648 A
  2951. 3240 V
  2952. (06921)210 648 A
  2953. (PRIVATE)294 1026 A
  2954. (unsigned)336 1362 A
  2955. (char)168 1740 A
  2956. (switching;)420 1950 A
  2957. 2706(/*)S
  2958. (nonzero)294 2832 A
  2959. 3168(to)S
  2960. (inhibit)294 3294 A
  2961. (interrupt())462 3630 A
  2962. 4134(*/)S
  2963. 3330 V
  2964. (06922)210 648 A
  2965. 3420 V
  2966. (06923)210 648 A
  2967. (FORWARD)294 1026 A
  2968. (_PROTOTYPE()462 1362 A
  2969. (int)126 1866 A
  2970. (mini_send,)420 2034 A
  2971. ((struct)294 2496 A
  2972. (proc)168 2832 A
  2973. (*caller_ptr,)504 3042 A
  2974. (int)126 3588 A
  2975. (dest,)210 3756 A
  2976. 3510 V
  2977. (06924)210 648 A
  2978. (message)294 1698 A
  2979. (*m_ptr))294 2034 A
  2980. 2370();)S
  2981. 3600 V
  2982. (06925)210 648 A
  2983. (FORWARD)294 1026 A
  2984. (_PROTOTYPE()462 1362 A
  2985. (int)126 1866 A
  2986. (mini_rec,)378 2034 A
  2987. ((struct)294 2454 A
  2988. (proc)168 2790 A
  2989. (*caller_ptr,)504 3000 A
  2990. (int)126 3546 A
  2991. (src,)168 3714 A
  2992. 3690 V
  2993. (06926)210 648 A
  2994. (message)294 1698 A
  2995. (*m_ptr))294 2034 A
  2996. 2370();)S
  2997. 3780 V
  2998. (06927)210 648 A
  2999. (FORWARD)294 1026 A
  3000. (_PROTOTYPE()462 1362 A
  3001. (void)168 1866 A
  3002. (ready,)252 2076 A
  3003. ((struct)294 2370 A
  3004. (proc)168 2706 A
  3005. (*rp))168 2916 A
  3006. 3126();)S
  3007. 3870 V
  3008. (06928)210 648 A
  3009. (FORWARD)294 1026 A
  3010. (_PROTOTYPE()462 1362 A
  3011. (void)168 1866 A
  3012. (sched,)252 2076 A
  3013. ((void))252 2370 A
  3014. 2664();)S
  3015. 3960 V
  3016. (06929)210 648 A
  3017. (FORWARD)294 1026 A
  3018. (_PROTOTYPE()462 1362 A
  3019. (void)168 1866 A
  3020. (unready,)336 2076 A
  3021. ((struct)294 2454 A
  3022. (proc)168 2790 A
  3023. (*rp))168 3000 A
  3024. 3210();)S
  3025. 4050 V
  3026. (06930)210 648 A
  3027. (FORWARD)294 1026 A
  3028. (_PROTOTYPE()462 1362 A
  3029. (void)168 1866 A
  3030. (pick_proc,)420 2076 A
  3031. ((void))252 2538 A
  3032. 2832();)S
  3033. 4140 V
  3034. (06931)210 648 A
  3035. 4230 V
  3036. (06932)210 648 A
  3037. (#define)294 1026 A
  3038. (CopyMess(s,sp,sm,dp,dm))966 1362 A
  3039. 2370(\)S
  3040. 4320 V
  3041. (06933)210 648 A
  3042. (cp_mess(s,)420 1362 A
  3043. ((sp)->p_map[D].mem_phys,)1008 1824 A
  3044. ((vir_bytes)sm,)588 2874 A
  3045. ((dp)->p_map[D].mem_phys,)1008 3504 A
  3046. ((vir_bytes)dm))588 4554 A
  3047. 4410 V
  3048. (06934)210 648 A
  3049. 4500 V
  3050. (06935)210 648 A
  3051. (/*===========================================================================*)3276 1026 A
  3052. 4590 V
  3053. (06936)210 648 A
  3054. 1068(*)S
  3055. (interrupt)378 2370 A
  3056. 4260(*)S
  3057. 4680 V
  3058. (06937)210 648 A
  3059. (*===========================================================================*/)3276 1068 A
  3060. 4770 V
  3061. (06938)210 648 A
  3062. (PUBLIC)252 1026 A
  3063. (void)168 1320 A
  3064. (interrupt(task))630 1530 A
  3065. 4860 V
  3066. (06939)210 648 A
  3067. (int)126 1026 A
  3068. (task;)210 1194 A
  3069. 2370(/*)S
  3070. (number)252 2496 A
  3071. 2790(of)S
  3072. (task)168 2916 A
  3073. 3126(to)S
  3074. 3252(be)S
  3075. (started)294 3378 A
  3076. 3714(*/)S
  3077. 4950 V
  3078. (06940)210 648 A
  3079. 1026({)S
  3080. 5040 V
  3081. (06941)210 648 A
  3082. 1026(/*)S
  3083. 1152(An)S
  3084. (interrupt)378 1278 A
  3085. (has)126 1698 A
  3086. (occurred.)378 1866 A
  3087. (Schedule)336 2328 A
  3088. (the)126 2706 A
  3089. (task)168 2874 A
  3090. (that)168 3084 A
  3091. (handles)294 3294 A
  3092. (it.)126 3630 A
  3093. 3798(*/)S
  3094. 5130 V
  3095. (06942)210 648 A
  3096. 5220 V
  3097. (06943)210 648 A
  3098. (register)336 1110 A
  3099. (struct)252 1488 A
  3100. (proc)168 1782 A
  3101. (*rp;)168 1992 A
  3102. 2370(/*)S
  3103. (pointer)294 2496 A
  3104. 2832(to)S
  3105. (task's)252 2958 A
  3106. (proc)168 3252 A
  3107. (entry)210 3462 A
  3108. 3714(*/)S
  3109. 5310 V
  3110. (06944)210 648 A
  3111. 5400 V
  3112. (06945)210 648 A
  3113. 1110(rp)S
  3114. 1236(=)S
  3115. (proc_addr(task);)672 1320 A
  3116. 5490 V
  3117. (06946)210 648 A
  3118. 5580 V
  3119. (06947)210 648 A
  3120. 1110(/*)S
  3121. 1236(If)S
  3122. (this)168 1362 A
  3123. (call)168 1572 A
  3124. (would)210 1782 A
  3125. (compete)294 2034 A
  3126. (with)168 2370 A
  3127. (other)210 2580 A
  3128. (process-switching)714 2832 A
  3129. (functions,)420 3588 A
  3130. (put)126 4050 A
  3131. 5670 V
  3132. (06948)210 648 A
  3133. 1152(*)S
  3134. 1236(it)S
  3135. 1362(on)S
  3136. (the)126 1488 A
  3137. ('held')252 1656 A
  3138. (queue)210 1950 A
  3139. 2202(to)S
  3140. 2328(be)S
  3141. (flushed)294 2454 A
  3142. 2790(at)S
  3143. (the)126 2916 A
  3144. (next)168 3084 A
  3145. (non-competing)546 3294 A
  3146. (restart().)420 3882 A
  3147. 5760 V
  3148. (06949)210 648 A
  3149. 1152(*)S
  3150. (The)126 1236 A
  3151. (competing)378 1404 A
  3152. (conditions)420 1824 A
  3153. (are:)168 2286 A
  3154. 5850 V
  3155. (06950)210 648 A
  3156. 1152(*)S
  3157. ((1))126 1236 A
  3158. (k_reenter)378 1404 A
  3159. 1824(==)S
  3160. ((typeof)294 1950 A
  3161. (k_reenter))420 2286 A
  3162. (-1:)126 2748 A
  3163. 5940 V
  3164. (06951)210 648 A
  3165. 1152(*)S
  3166. (Call)168 1404 A
  3167. (from)168 1614 A
  3168. (the)126 1824 A
  3169. (task)168 1992 A
  3170. (level,)252 2202 A
  3171. (typically)378 2496 A
  3172. (from)168 2916 A
  3173. 3126(an)S
  3174. (output)252 3252 A
  3175. (interrupt)378 3546 A
  3176. 6030 V
  3177. (06952)210 648 A
  3178. 1152(*)S
  3179. (routine.)336 1404 A
  3180. 1824(An)S
  3181. (interrupt)378 1950 A
  3182. (handler)294 2370 A
  3183. (might)210 2706 A
  3184. (reenter)294 2958 A
  3185. (interrupt().)504 3294 A
  3186. (Rare,)210 3882 A
  3187. 6120 V
  3188. (06953)210 648 A
  3189. 1152(*)S
  3190. 1404(so)S
  3191. (not)126 1530 A
  3192. (worth)210 1698 A
  3193. (special)294 1950 A
  3194. (treatment.)420 2286 A
  3195. 6210 V
  3196. (06954)210 648 A
  3197. 1152(*)S
  3198. ((2))126 1236 A
  3199. (k_reenter)378 1404 A
  3200. 1824(>)S
  3201. 1908(0:)S
  3202. 8418 V
  3203. EP
  3204. %%Page: 83 83
  3205. BP
  3206. /slant 0 def
  3207. /height 0 def
  3208. 630 V
  3209. 10 R
  3210. 648(MINIX)S
  3211. 976(SOURCE)S
  3212. 1399(CODE)S
  3213. 11 R
  3214. 2049(File:)S
  3215. 2282(src/kernel/proc.c)S
  3216. 12 B
  3217. 4308(83)S
  3218. 900 V
  3219. 7 LST
  3220. (06955)210 648 A
  3221. 1152(*)S
  3222. (Call)168 1404 A
  3223. (from)168 1614 A
  3224. 1824(a)S
  3225. (nested)252 1908 A
  3226. (interrupt)378 2202 A
  3227. (handler.)336 2622 A
  3228. 3042(A)S
  3229. (previous)336 3126 A
  3230. (interrupt)378 3504 A
  3231. (handler)294 3924 A
  3232. 990 V
  3233. (06956)210 648 A
  3234. 1152(*)S
  3235. (might)210 1404 A
  3236. 1656(be)S
  3237. (inside)252 1782 A
  3238. (interrupt())462 2076 A
  3239. 2580(or)S
  3240. (sys_call().)462 2706 A
  3241. 1080 V
  3242. (06957)210 648 A
  3243. 1152(*)S
  3244. ((3))126 1236 A
  3245. (switching)378 1404 A
  3246. 1824(!=)S
  3247. 1950(0:)S
  3248. 1170 V
  3249. (06958)210 648 A
  3250. 1152(*)S
  3251. (Some)168 1404 A
  3252. (process-switching)714 1614 A
  3253. (function)336 2370 A
  3254. (other)210 2748 A
  3255. (than)168 3000 A
  3256. (interrupt())462 3210 A
  3257. 3714(is)S
  3258. (being)210 3840 A
  3259. 1260 V
  3260. (06959)210 648 A
  3261. 1152(*)S
  3262. (called)252 1404 A
  3263. (from)168 1698 A
  3264. (the)126 1908 A
  3265. (task)168 2076 A
  3266. (level,)252 2286 A
  3267. (typically)378 2580 A
  3268. (sched())294 3000 A
  3269. (from)168 3336 A
  3270. (CLOCK.)252 3546 A
  3271. 3882(An)S
  3272. 1350 V
  3273. (06960)210 648 A
  3274. 1152(*)S
  3275. (interrupt)378 1404 A
  3276. (handler)294 1824 A
  3277. (might)210 2160 A
  3278. (call)168 2412 A
  3279. (interrupt)378 2622 A
  3280. (and)126 3042 A
  3281. (pass)168 3210 A
  3282. (the)126 3420 A
  3283. (k_reenter)378 3588 A
  3284. (test.)210 4008 A
  3285. 1440 V
  3286. (06961)210 648 A
  3287. 1152(*/)S
  3288. 1530 V
  3289. (06962)210 648 A
  3290. 1110(if)S
  3291. ((k_reenter)420 1236 A
  3292. 1698(!=)S
  3293. 1824(0)S
  3294. 1908(||)S
  3295. (switching))420 2034 A
  3296. 2496({)S
  3297. 1620 V
  3298. (06963)210 648 A
  3299. (lock();)294 1362 A
  3300. 1710 V
  3301. (06964)210 648 A
  3302. 1362(if)S
  3303. ((!rp->p_int_held))714 1488 A
  3304. 2244({)S
  3305. 1800 V
  3306. (06965)210 648 A
  3307. (rp->p_int_held)588 1698 A
  3308. 2328(=)S
  3309. (TRUE;)210 2412 A
  3310. 1890 V
  3311. (06966)210 648 A
  3312. 1698(if)S
  3313. ((held_head)420 1824 A
  3314. 2286(!=)S
  3315. (NIL_PROC))378 2412 A
  3316. 1980 V
  3317. (06967)210 648 A
  3318. (held_tail->p_nextheld)882 2034 A
  3319. 2958(=)S
  3320. (rp;)126 3042 A
  3321. 2070 V
  3322. (06968)210 648 A
  3323. (else)168 1698 A
  3324. 2160 V
  3325. (06969)210 648 A
  3326. (held_head)378 2034 A
  3327. 2454(=)S
  3328. (rp;)126 2538 A
  3329. 2250 V
  3330. (06970)210 648 A
  3331. (held_tail)378 1698 A
  3332. 2118(=)S
  3333. (rp;)126 2202 A
  3334. 2340 V
  3335. (06971)210 648 A
  3336. (rp->p_nextheld)588 1698 A
  3337. 2328(=)S
  3338. (NIL_PROC;)378 2412 A
  3339. 2430 V
  3340. (06972)210 648 A
  3341. 1362(})S
  3342. 2520 V
  3343. (06973)210 648 A
  3344. (unlock();)378 1362 A
  3345. 2610 V
  3346. (06974)210 648 A
  3347. (return;)294 1362 A
  3348. 2700 V
  3349. (06975)210 648 A
  3350. 1110(})S
  3351. 2790 V
  3352. (06976)210 648 A
  3353. 2880 V
  3354. (06977)210 648 A
  3355. 1110(/*)S
  3356. 1236(If)S
  3357. (task)168 1362 A
  3358. 1572(is)S
  3359. (not)126 1698 A
  3360. (waiting)294 1866 A
  3361. (for)126 2202 A
  3362. 2370(an)S
  3363. (interrupt,)420 2496 A
  3364. (record)252 2958 A
  3365. (the)126 3252 A
  3366. (blockage.)378 3420 A
  3367. 3840(*/)S
  3368. 2970 V
  3369. (06978)210 648 A
  3370. 1110(if)S
  3371. 1236(()S
  3372. ((rp->p_flags)504 1320 A
  3373. 1866(&)S
  3374. ((RECEIVING)420 1950 A
  3375. 2412(|)S
  3376. (SENDING)))378 2496 A
  3377. 2916(!=)S
  3378. (RECEIVING)378 3042 A
  3379. 3462(||)S
  3380. 3060 V
  3381. (06979)210 648 A
  3382. (!isrxhardware(rp->p_getfrom)))1218 1278 A
  3383. 2538({)S
  3384. 3150 V
  3385. (06980)210 648 A
  3386. (rp->p_int_blocked)714 1362 A
  3387. 2118(=)S
  3388. (TRUE;)210 2202 A
  3389. 3240 V
  3390. (06981)210 648 A
  3391. (return;)294 1362 A
  3392. 3330 V
  3393. (06982)210 648 A
  3394. 1110(})S
  3395. 3420 V
  3396. (06983)210 648 A
  3397. 3510 V
  3398. (06984)210 648 A
  3399. 1110(/*)S
  3400. (Destination)462 1236 A
  3401. 1740(is)S
  3402. (waiting)294 1866 A
  3403. (for)126 2202 A
  3404. 2370(an)S
  3405. (interrupt.)420 2496 A
  3406. 3600 V
  3407. (06985)210 648 A
  3408. 1152(*)S
  3409. (Send)168 1236 A
  3410. 1446(it)S
  3411. 1572(a)S
  3412. (message)294 1656 A
  3413. (with)168 1992 A
  3414. (source)252 2202 A
  3415. (HARDWARE)336 2496 A
  3416. (and)126 2874 A
  3417. (type)168 3042 A
  3418. (HARD_INT.)378 3252 A
  3419. 3690 V
  3420. (06986)210 648 A
  3421. 1152(*)S
  3422. 1236(No)S
  3423. (more)168 1362 A
  3424. (information)462 1572 A
  3425. (can)126 2076 A
  3426. 2244(be)S
  3427. (reliably)336 2370 A
  3428. (provided)336 2748 A
  3429. (since)210 3126 A
  3430. (interrupt)378 3378 A
  3431. (messages)336 3798 A
  3432. 3780 V
  3433. (06987)210 648 A
  3434. 1152(*)S
  3435. (are)126 1236 A
  3436. (not)126 1404 A
  3437. (queued.)294 1572 A
  3438. 3870 V
  3439. (06988)210 648 A
  3440. 1152(*/)S
  3441. 3960 V
  3442. (06989)210 648 A
  3443. (rp->p_messbuf->m_source)966 1110 A
  3444. 2118(=)S
  3445. (HARDWARE;)378 2202 A
  3446. 4050 V
  3447. (06990)210 648 A
  3448. (rp->p_messbuf->m_type)882 1110 A
  3449. 2034(=)S
  3450. (HARD_INT;)378 2118 A
  3451. 4140 V
  3452. (06991)210 648 A
  3453. (rp->p_flags)462 1110 A
  3454. 1614(&=)S
  3455. (304RECEIVING;)462 1740 A
  3456. 4230 V
  3457. (06992)210 648 A
  3458. (rp->p_int_blocked)714 1110 A
  3459. 1866(=)S
  3460. (FALSE;)252 1950 A
  3461. 4320 V
  3462. (06993)210 648 A
  3463. 4410 V
  3464. (06994)210 648 A
  3465. 1152(/*)S
  3466. (Make)168 1278 A
  3467. 1488(rp)S
  3468. (ready)210 1614 A
  3469. (and)126 1866 A
  3470. (run)126 2034 A
  3471. 2202(it)S
  3472. (unless)252 2328 A
  3473. 2622(a)S
  3474. (task)168 2706 A
  3475. 2916(is)S
  3476. (already)294 3042 A
  3477. (running.)336 3378 A
  3478. (This)168 3798 A
  3479. 4008(is)S
  3480. 4500 V
  3481. (06995)210 648 A
  3482. 1194(*)S
  3483. (ready(rp))378 1278 A
  3484. (in-line)294 1698 A
  3485. (for)126 2034 A
  3486. (speed.)252 2202 A
  3487. 4590 V
  3488. (06996)210 648 A
  3489. 1194(*/)S
  3490. 4680 V
  3491. (06997)210 648 A
  3492. 1110(if)S
  3493. ((rdy_head[TASK_Q])714 1236 A
  3494. 1992(!=)S
  3495. (NIL_PROC))378 2118 A
  3496. 4770 V
  3497. (06998)210 648 A
  3498. (rdy_tail[TASK_Q]->p_nextready)1218 1362 A
  3499. 2622(=)S
  3500. (rp;)126 2706 A
  3501. 4860 V
  3502. (06999)210 648 A
  3503. (else)168 1110 A
  3504. 4950 V
  3505. (07000)210 648 A
  3506. (proc_ptr)336 1362 A
  3507. 1740(=)S
  3508. (rdy_head[TASK_Q])672 1824 A
  3509. 2538(=)S
  3510. (rp;)126 2622 A
  3511. 5040 V
  3512. (07001)210 648 A
  3513. (rdy_tail[TASK_Q])672 1110 A
  3514. 1824(=)S
  3515. (rp;)126 1908 A
  3516. 5130 V
  3517. (07002)210 648 A
  3518. (rp->p_nextready)630 1110 A
  3519. 1782(=)S
  3520. (NIL_PROC;)378 1866 A
  3521. 5220 V
  3522. (07003)210 648 A
  3523. 1026(})S
  3524. 5400 V
  3525. (07005)210 648 A
  3526. (/*===========================================================================*)3276 1026 A
  3527. 5490 V
  3528. (07006)210 648 A
  3529. 1068(*)S
  3530. (sys_call)336 2370 A
  3531. 4260(*)S
  3532. 5580 V
  3533. (07007)210 648 A
  3534. (*===========================================================================*/)3276 1068 A
  3535. 5670 V
  3536. (07008)210 648 A
  3537. (PUBLIC)252 1026 A
  3538. (int)126 1320 A
  3539. (sys_call(function,)756 1488 A
  3540. (src_dest,)378 2286 A
  3541. (m_ptr))252 2706 A
  3542. 5760 V
  3543. (07009)210 648 A
  3544. (int)126 1026 A
  3545. (function;)378 1194 A
  3546. 2370(/*)S
  3547. (SEND,)210 2496 A
  3548. (RECEIVE,)336 2748 A
  3549. 3126(or)S
  3550. (BOTH)168 3252 A
  3551. 3462(*/)S
  3552. 5850 V
  3553. (07010)210 648 A
  3554. (int)126 1026 A
  3555. (src_dest;)378 1194 A
  3556. 2370(/*)S
  3557. (source)252 2496 A
  3558. 2790(to)S
  3559. (receive)294 2916 A
  3560. (from)168 3252 A
  3561. 3462(or)S
  3562. (dest)168 3588 A
  3563. 3798(to)S
  3564. (send)168 3924 A
  3565. 4134(to)S
  3566. 4260(*/)S
  3567. 5940 V
  3568. (07011)210 648 A
  3569. (message)294 1026 A
  3570. (*m_ptr;)294 1362 A
  3571. 2370(/*)S
  3572. (pointer)294 2496 A
  3573. 2832(to)S
  3574. (message)294 2958 A
  3575. 3294(*/)S
  3576. 6030 V
  3577. (07012)210 648 A
  3578. 1026({)S
  3579. 6120 V
  3580. (07013)210 648 A
  3581. 1026(/*)S
  3582. (The)126 1152 A
  3583. (only)168 1320 A
  3584. (system)252 1530 A
  3585. (calls)210 1824 A
  3586. (that)168 2076 A
  3587. (exist)210 2286 A
  3588. 2538(in)S
  3589. (MINIX)210 2664 A
  3590. (are)126 2916 A
  3591. (sending)294 3084 A
  3592. (and)126 3420 A
  3593. (receiving)378 3588 A
  3594. 6210 V
  3595. (07014)210 648 A
  3596. 1068(*)S
  3597. (messages.)378 1152 A
  3598. (These)210 1614 A
  3599. (are)126 1866 A
  3600. (done)168 2034 A
  3601. 2244(by)S
  3602. (trapping)336 2370 A
  3603. 2748(to)S
  3604. (the)126 2874 A
  3605. (kernel)252 3042 A
  3606. (with)168 3336 A
  3607. 3546(an)S
  3608. (INT)126 3672 A
  3609. (instruction.)504 3840 A
  3610. 8418 V
  3611. EP
  3612. %%Page: 84 84
  3613. BP
  3614. /slant 0 def
  3615. /height 0 def
  3616. 630 V
  3617. 12 B
  3618. 648(84)S
  3619. 11 R
  3620. 2049(File:)S
  3621. 2282(src/kernel/proc.c)S
  3622. 10 R
  3623. 3402(MINIX)S
  3624. 3730(SOURCE)S
  3625. 4153(CODE)S
  3626. 900 V
  3627. 7 LST
  3628. (07015)210 648 A
  3629. 1068(*)S
  3630. (The)126 1152 A
  3631. (trap)168 1320 A
  3632. 1530(is)S
  3633. (caught)252 1656 A
  3634. (and)126 1950 A
  3635. (sys_call())420 2118 A
  3636. 2580(is)S
  3637. (called)252 2706 A
  3638. 3000(to)S
  3639. (send)168 3126 A
  3640. 3336(or)S
  3641. (receive)294 3462 A
  3642. 3798(a)S
  3643. (message)294 3882 A
  3644. 990 V
  3645. (07016)210 648 A
  3646. 1068(*)S
  3647. ((or)126 1152 A
  3648. (both).)252 1320 A
  3649. (The)126 1614 A
  3650. (caller)252 1782 A
  3651. 2076(is)S
  3652. (always)252 2202 A
  3653. (given)210 2496 A
  3654. 2748(by)S
  3655. (proc_ptr.)378 2874 A
  3656. 1080 V
  3657. (07017)210 648 A
  3658. 1068(*/)S
  3659. 1170 V
  3660. (07018)210 648 A
  3661. 1260 V
  3662. (07019)210 648 A
  3663. (register)336 1110 A
  3664. (struct)252 1488 A
  3665. (proc)168 1782 A
  3666. (*rp;)168 1992 A
  3667. 1350 V
  3668. (07020)210 648 A
  3669. (int)126 1110 A
  3670. 1278(n;)S
  3671. 1440 V
  3672. (07021)210 648 A
  3673. 1530 V
  3674. (07022)210 648 A
  3675. 1110(/*)S
  3676. (Check)210 1236 A
  3677. (for)126 1488 A
  3678. (bad)126 1656 A
  3679. (system)252 1824 A
  3680. (call)168 2118 A
  3681. (parameters.)462 2328 A
  3682. 2832(*/)S
  3683. 1620 V
  3684. (07023)210 648 A
  3685. 1110(if)S
  3686. ((!isoksrc_dest(src_dest)))1050 1236 A
  3687. (return(E_BAD_SRC);)756 2328 A
  3688. 1710 V
  3689. (07024)210 648 A
  3690. 1110(rp)S
  3691. 1236(=)S
  3692. (proc_ptr;)378 1320 A
  3693. 1800 V
  3694. (07025)210 648 A
  3695. 1890 V
  3696. (07026)210 648 A
  3697. 1110(if)S
  3698. ((isuserp(rp))504 1236 A
  3699. 1782(&&)S
  3700. (function)336 1908 A
  3701. 2286(!=)S
  3702. (BOTH))210 2412 A
  3703. (return(E_NO_PERM);)756 2664 A
  3704. 1980 V
  3705. (07027)210 648 A
  3706. 2070 V
  3707. (07028)210 648 A
  3708. 1110(/*)S
  3709. (The)126 1236 A
  3710. (parameters)420 1404 A
  3711. (are)126 1866 A
  3712. (ok.)126 2034 A
  3713. 2202(Do)S
  3714. (the)126 2328 A
  3715. (call.)210 2496 A
  3716. 2748(*/)S
  3717. 2160 V
  3718. (07029)210 648 A
  3719. 1110(if)S
  3720. ((function)378 1236 A
  3721. 1656(&)S
  3722. (SEND))210 1740 A
  3723. 1992({)S
  3724. 2250 V
  3725. (07030)210 648 A
  3726. 1362(/*)S
  3727. (Function)336 1488 A
  3728. 1866(=)S
  3729. (SEND)168 1950 A
  3730. 2160(or)S
  3731. (BOTH.)210 2286 A
  3732. 2538(*/)S
  3733. 2340 V
  3734. (07031)210 648 A
  3735. 1362(n)S
  3736. 1446(=)S
  3737. (mini_send(rp,)546 1530 A
  3738. (src_dest,)378 2118 A
  3739. (m_ptr);)294 2538 A
  3740. 2430 V
  3741. (07032)210 648 A
  3742. 1362(if)S
  3743. ((function)378 1488 A
  3744. 1908(==)S
  3745. (SEND)168 2034 A
  3746. 2244(||)S
  3747. 2370(n)S
  3748. 2454(!=)S
  3749. (OK))126 2580 A
  3750. 2520 V
  3751. (07033)210 648 A
  3752. (return(n);)420 1698 A
  3753. 2370(/*)S
  3754. (done,)210 2496 A
  3755. 2748(or)S
  3756. (SEND)168 2874 A
  3757. (failed)252 3084 A
  3758. 3378(*/)S
  3759. 2610 V
  3760. (07034)210 648 A
  3761. 1110(})S
  3762. 2700 V
  3763. (07035)210 648 A
  3764. 2790 V
  3765. (07036)210 648 A
  3766. 1110(/*)S
  3767. (Function)336 1236 A
  3768. 1614(=)S
  3769. (RECEIVE)294 1698 A
  3770. 2034(or)S
  3771. (BOTH.)210 2160 A
  3772. 2880 V
  3773. (07037)210 648 A
  3774. 1152(*)S
  3775. 1236(We)S
  3776. (have)168 1362 A
  3777. (checked)294 1572 A
  3778. (user)168 1908 A
  3779. (calls)210 2118 A
  3780. (are)126 2370 A
  3781. (BOTH,)210 2538 A
  3782. (and)126 2790 A
  3783. (trust)210 2958 A
  3784. ('function')420 3210 A
  3785. (otherwise.)420 3672 A
  3786. 2970 V
  3787. (07038)210 648 A
  3788. 1152(*/)S
  3789. 3060 V
  3790. (07039)210 648 A
  3791. (return(mini_rec(rp,)798 1110 A
  3792. (src_dest,)378 1950 A
  3793. (m_ptr));)336 2370 A
  3794. 3150 V
  3795. (07040)210 648 A
  3796. 1026(})S
  3797. 3330 V
  3798. (07042)210 648 A
  3799. (/*===========================================================================*)3276 1026 A
  3800. 3420 V
  3801. (07043)210 648 A
  3802. 1068(*)S
  3803. (mini_send)378 2370 A
  3804. 4260(*)S
  3805. 3510 V
  3806. (07044)210 648 A
  3807. (*===========================================================================*/)3276 1068 A
  3808. 3600 V
  3809. (07045)210 648 A
  3810. (PRIVATE)294 1026 A
  3811. (int)126 1362 A
  3812. (mini_send(caller_ptr,)882 1530 A
  3813. (dest,)210 2454 A
  3814. (m_ptr))252 2706 A
  3815. 3690 V
  3816. (07046)210 648 A
  3817. (register)336 1026 A
  3818. (struct)252 1404 A
  3819. (proc)168 1698 A
  3820. (*caller_ptr;)504 1908 A
  3821. 2706(/*)S
  3822. (who)126 2832 A
  3823. 3000(is)S
  3824. (trying)252 3126 A
  3825. 3420(to)S
  3826. (send)168 3546 A
  3827. 3756(a)S
  3828. (message?)336 3840 A
  3829. 4218(*/)S
  3830. 3780 V
  3831. (07047)210 648 A
  3832. (int)126 1026 A
  3833. (dest;)210 1194 A
  3834. 2370(/*)S
  3835. 2496(to)S
  3836. (whom)168 2622 A
  3837. 2832(is)S
  3838. (message)294 2958 A
  3839. (being)210 3294 A
  3840. (sent?)210 3546 A
  3841. 3798(*/)S
  3842. 3870 V
  3843. (07048)210 648 A
  3844. (message)294 1026 A
  3845. (*m_ptr;)294 1362 A
  3846. 2370(/*)S
  3847. (pointer)294 2496 A
  3848. 2832(to)S
  3849. (message)294 2958 A
  3850. (buffer)252 3294 A
  3851. 3588(*/)S
  3852. 3960 V
  3853. (07049)210 648 A
  3854. 1026({)S
  3855. 4050 V
  3856. (07050)210 648 A
  3857. 1026(/*)S
  3858. (Send)168 1152 A
  3859. 1362(a)S
  3860. (message)294 1446 A
  3861. (from)168 1782 A
  3862. ('caller_ptr')504 1992 A
  3863. 2538(to)S
  3864. ('dest'.)294 2664 A
  3865. 3000(If)S
  3866. ('dest')252 3126 A
  3867. 3420(is)S
  3868. (blocked)294 3546 A
  3869. (waiting)294 3882 A
  3870. 4140 V
  3871. (07051)210 648 A
  3872. 1068(*)S
  3873. (for)126 1152 A
  3874. (this)168 1320 A
  3875. (message,)336 1530 A
  3876. (copy)168 1908 A
  3877. (the)126 2118 A
  3878. (message)294 2286 A
  3879. 2622(to)S
  3880. 2748(it)S
  3881. (and)126 2874 A
  3882. (unblock)294 3042 A
  3883. ('dest'.)294 3378 A
  3884. 3714(If)S
  3885. ('dest')252 3840 A
  3886. 4134(is)S
  3887. 4230 V
  3888. (07052)210 648 A
  3889. 1068(*)S
  3890. (not)126 1152 A
  3891. (waiting)294 1320 A
  3892. 1656(at)S
  3893. (all,)168 1782 A
  3894. 1992(or)S
  3895. 2118(is)S
  3896. (waiting)294 2244 A
  3897. (for)126 2580 A
  3898. (another)294 2748 A
  3899. (source,)294 3084 A
  3900. (queue)210 3420 A
  3901. ('caller_ptr'.)546 3672 A
  3902. 4320 V
  3903. (07053)210 648 A
  3904. 1068(*/)S
  3905. 4410 V
  3906. (07054)210 648 A
  3907. 4500 V
  3908. (07055)210 648 A
  3909. (register)336 1110 A
  3910. (struct)252 1488 A
  3911. (proc)168 1782 A
  3912. (*dest_ptr,)420 1992 A
  3913. (*next_ptr;)420 2454 A
  3914. 4590 V
  3915. (07056)210 648 A
  3916. (vir_bytes)378 1110 A
  3917. (vb;)126 1530 A
  3918. 2370(/*)S
  3919. (message)294 2496 A
  3920. (buffer)252 2832 A
  3921. (pointer)294 3126 A
  3922. 3462(as)S
  3923. (vir_bytes)378 3588 A
  3924. 4008(*/)S
  3925. 4680 V
  3926. (07057)210 648 A
  3927. (vir_clicks)420 1110 A
  3928. (vlo,)168 1572 A
  3929. (vhi;)168 1782 A
  3930. 2370(/*)S
  3931. (virtual)294 2496 A
  3932. (clicks)252 2832 A
  3933. (containing)420 3126 A
  3934. (message)294 3588 A
  3935. 3924(to)S
  3936. (send)168 4050 A
  3937. 4260(*/)S
  3938. 4770 V
  3939. (07058)210 648 A
  3940. 4860 V
  3941. (07059)210 648 A
  3942. 1110(/*)S
  3943. (User)168 1236 A
  3944. (processes)378 1446 A
  3945. (are)126 1866 A
  3946. (only)168 2034 A
  3947. (allowed)294 2244 A
  3948. 2580(to)S
  3949. (send)168 2706 A
  3950. 2916(to)S
  3951. 3042(FS)S
  3952. (and)126 3168 A
  3953. (MM.)126 3336 A
  3954. (Check)210 3546 A
  3955. (for)126 3798 A
  3956. (this.)210 3966 A
  3957. 4218(*/)S
  3958. 4950 V
  3959. (07060)210 648 A
  3960. 1110(if)S
  3961. ((isuserp(caller_ptr))840 1236 A
  3962. 2118(&&)S
  3963. (!issysentn(dest)))714 2244 A
  3964. (return(E_BAD_DEST);)798 3000 A
  3965. 5040 V
  3966. (07061)210 648 A
  3967. (dest_ptr)336 1110 A
  3968. 1488(=)S
  3969. (proc_addr(dest);)672 1572 A
  3970. 2370(/*)S
  3971. (pointer)294 2496 A
  3972. 2832(to)S
  3973. (destination's)546 2958 A
  3974. (proc)168 3546 A
  3975. (entry)210 3756 A
  3976. 4008(*/)S
  3977. 5130 V
  3978. (07062)210 648 A
  3979. 1110(if)S
  3980. ((dest_ptr->p_flags)756 1236 A
  3981. 2034(&)S
  3982. (P_SLOT_FREE))504 2118 A
  3983. (return(E_BAD_DEST);)798 2664 A
  3984. 3714(/*)S
  3985. (dead)168 3840 A
  3986. (dest)168 4050 A
  3987. 4260(*/)S
  3988. 5220 V
  3989. (07063)210 648 A
  3990. 5310 V
  3991. (07064)210 648 A
  3992. 1110(/*)S
  3993. (This)168 1236 A
  3994. (check)210 1446 A
  3995. (allows)252 1698 A
  3996. 1992(a)S
  3997. (message)294 2076 A
  3998. 2412(to)S
  3999. 2538(be)S
  4000. (anywhere)336 2664 A
  4001. 3042(in)S
  4002. (data)168 3168 A
  4003. 3378(or)S
  4004. (stack)210 3504 A
  4005. 3756(or)S
  4006. (gap.)168 3882 A
  4007. 5400 V
  4008. (07065)210 648 A
  4009. 1152(*)S
  4010. 1236(It)S
  4011. (will)168 1362 A
  4012. (have)168 1572 A
  4013. 1782(to)S
  4014. 1908(be)S
  4015. (made)168 2034 A
  4016. (more)168 2244 A
  4017. (elaborate)378 2454 A
  4018. (later)210 2874 A
  4019. (for)126 3126 A
  4020. (machines)336 3294 A
  4021. (which)210 3672 A
  4022. 5490 V
  4023. (07066)210 648 A
  4024. 1152(*)S
  4025. (don't)210 1236 A
  4026. (have)168 1488 A
  4027. (the)126 1698 A
  4028. (gap)126 1866 A
  4029. (mapped.)294 2034 A
  4030. 5580 V
  4031. (07067)210 648 A
  4032. 1152(*/)S
  4033. 5670 V
  4034. (07068)210 648 A
  4035. 1110(vb)S
  4036. 1236(=)S
  4037. ((vir_bytes))462 1320 A
  4038. (m_ptr;)252 1824 A
  4039. 5760 V
  4040. (07069)210 648 A
  4041. (vlo)126 1110 A
  4042. 1278(=)S
  4043. 1362(vb)S
  4044. 1488(>>)S
  4045. (CLICK_SHIFT;)504 1614 A
  4046. 2370(/*)S
  4047. (vir)126 2496 A
  4048. (click)210 2664 A
  4049. (for)126 2916 A
  4050. (bottom)252 3084 A
  4051. 3378(of)S
  4052. (message)294 3504 A
  4053. 3840(*/)S
  4054. 5850 V
  4055. (07070)210 648 A
  4056. (vhi)126 1110 A
  4057. 1278(=)S
  4058. ((vb)126 1362 A
  4059. 1530(+)S
  4060. (MESS_SIZE)378 1614 A
  4061. 2034(-)S
  4062. 2118(1))S
  4063. 2244(>>)S
  4064. (CLICK_SHIFT;)504 2370 A
  4065. 3042(/*)S
  4066. (vir)126 3168 A
  4067. (click)210 3336 A
  4068. (for)126 3588 A
  4069. (top)126 3756 A
  4070. 3924(of)S
  4071. (msg)126 4050 A
  4072. 4218(*/)S
  4073. 5940 V
  4074. (07071)210 648 A
  4075. 1110(if)S
  4076. ((vlo)168 1236 A
  4077. 1446(<)S
  4078. (caller_ptr->p_map[D].mem_vir)1176 1530 A
  4079. 2748(||)S
  4080. (vlo)126 2874 A
  4081. 3042(>)S
  4082. (vhi)126 3126 A
  4083. 3294(||)S
  4084. 6030 V
  4085. (07072)210 648 A
  4086. (vhi)126 1278 A
  4087. 1446(>=)S
  4088. (caller_ptr->p_map[S].mem_vir)1176 1572 A
  4089. 2790(+)S
  4090. (caller_ptr->p_map[S].mem_len))1218 2874 A
  4091. 6120 V
  4092. (07073)210 648 A
  4093. (return(EFAULT);)630 1362 A
  4094. 6210 V
  4095. (07074)210 648 A
  4096. 8418 V
  4097. EP
  4098. %%Page: 85 85
  4099. BP
  4100. /slant 0 def
  4101. /height 0 def
  4102. 630 V
  4103. 10 R
  4104. 648(MINIX)S
  4105. 976(SOURCE)S
  4106. 1399(CODE)S
  4107. 11 R
  4108. 2049(File:)S
  4109. 2282(src/kernel/proc.c)S
  4110. 12 B
  4111. 4308(85)S
  4112. 900 V
  4113. 7 LST
  4114. (07075)210 648 A
  4115. 1110(/*)S
  4116. (Check)210 1236 A
  4117. (for)126 1488 A
  4118. (deadlock)336 1656 A
  4119. 2034(by)S
  4120. ('caller_ptr')504 2160 A
  4121. (and)126 2706 A
  4122. ('dest')252 2874 A
  4123. (sending)294 3168 A
  4124. 3504(to)S
  4125. (each)168 3630 A
  4126. (other.)252 3840 A
  4127. 4134(*/)S
  4128. 990 V
  4129. (07076)210 648 A
  4130. 1110(if)S
  4131. ((dest_ptr->p_flags)756 1236 A
  4132. 2034(&)S
  4133. (SENDING))336 2118 A
  4134. 2496({)S
  4135. 1080 V
  4136. (07077)210 648 A
  4137. (next_ptr)336 1362 A
  4138. 1740(=)S
  4139. (proc_addr(dest_ptr->p_sendto);)1260 1824 A
  4140. 1170 V
  4141. (07078)210 648 A
  4142. (while)210 1362 A
  4143. ((TRUE))252 1614 A
  4144. 1908({)S
  4145. 1260 V
  4146. (07079)210 648 A
  4147. 1698(if)S
  4148. ((next_ptr)378 1824 A
  4149. 2244(==)S
  4150. (caller_ptr))462 2370 A
  4151. (return(ELOCKED);)672 2874 A
  4152. 1350 V
  4153. (07080)210 648 A
  4154. 1698(if)S
  4155. ((next_ptr->p_flags)756 1824 A
  4156. 2622(&)S
  4157. (SENDING))336 2706 A
  4158. 1440 V
  4159. (07081)210 648 A
  4160. (next_ptr)336 2034 A
  4161. 2412(=)S
  4162. (proc_addr(next_ptr->p_sendto);)1260 2496 A
  4163. 1530 V
  4164. (07082)210 648 A
  4165. (else)168 1698 A
  4166. 1620 V
  4167. (07083)210 648 A
  4168. (break;)252 2034 A
  4169. 1710 V
  4170. (07084)210 648 A
  4171. 1362(})S
  4172. 1800 V
  4173. (07085)210 648 A
  4174. 1110(})S
  4175. 1890 V
  4176. (07086)210 648 A
  4177. 1980 V
  4178. (07087)210 648 A
  4179. 1110(/*)S
  4180. (Check)210 1236 A
  4181. 1488(to)S
  4182. (see)126 1614 A
  4183. 1782(if)S
  4184. ('dest')252 1908 A
  4185. 2202(is)S
  4186. (blocked)294 2328 A
  4187. (waiting)294 2664 A
  4188. (for)126 3000 A
  4189. (this)168 3168 A
  4190. (message.)336 3378 A
  4191. 3756(*/)S
  4192. 2070 V
  4193. (07088)210 648 A
  4194. 1110(if)S
  4195. 1236(()S
  4196. ((dest_ptr->p_flags)756 1320 A
  4197. 2118(&)S
  4198. ((RECEIVING)420 2202 A
  4199. 2664(|)S
  4200. (SENDING)))378 2748 A
  4201. 3168(==)S
  4202. (RECEIVING)378 3294 A
  4203. 3714(&&)S
  4204. 2160 V
  4205. (07089)210 648 A
  4206. ((dest_ptr->p_getfrom)840 1320 A
  4207. 2202(==)S
  4208. (ANY)126 2328 A
  4209. 2496(||)S
  4210. 2250 V
  4211. (07090)210 648 A
  4212. (dest_ptr->p_getfrom)798 1362 A
  4213. 2202(==)S
  4214. (proc_number(caller_ptr))))1050 2328 A
  4215. 3420({)S
  4216. 2340 V
  4217. (07091)210 648 A
  4218. 1362(/*)S
  4219. (Destination)462 1488 A
  4220. 1992(is)S
  4221. (indeed)252 2118 A
  4222. (waiting)294 2412 A
  4223. (for)126 2748 A
  4224. (this)168 2916 A
  4225. (message.)336 3126 A
  4226. 3504(*/)S
  4227. 2430 V
  4228. (07092)210 648 A
  4229. (CopyMess(proc_number(caller_ptr),)1386 1362 A
  4230. (caller_ptr,)462 2790 A
  4231. (m_ptr,)252 3294 A
  4232. (dest_ptr,)378 3588 A
  4233. 2520 V
  4234. (07093)210 648 A
  4235. (dest_ptr->p_messbuf);)882 1740 A
  4236. 2610 V
  4237. (07094)210 648 A
  4238. (dest_ptr->p_flags)714 1362 A
  4239. 2118(&=)S
  4240. (304RECEIVING;)462 2244 A
  4241. 3042(/*)S
  4242. (deblock)294 3168 A
  4243. (destination)462 3504 A
  4244. 4008(*/)S
  4245. 2700 V
  4246. (07095)210 648 A
  4247. 1362(if)S
  4248. ((dest_ptr->p_flags)756 1488 A
  4249. 2286(==)S
  4250. 2412(0))S
  4251. (ready(dest_ptr);)672 2538 A
  4252. 2790 V
  4253. (07096)210 648 A
  4254. 1110(})S
  4255. (else)168 1194 A
  4256. 1404({)S
  4257. 2880 V
  4258. (07097)210 648 A
  4259. 1362(/*)S
  4260. (Destination)462 1488 A
  4261. 1992(is)S
  4262. (not)126 2118 A
  4263. (waiting.)336 2286 A
  4264. (Block)210 2706 A
  4265. (and)126 2958 A
  4266. (queue)210 3126 A
  4267. (caller.)294 3378 A
  4268. 3714(*/)S
  4269. 2970 V
  4270. (07098)210 648 A
  4271. (caller_ptr->p_messbuf)882 1362 A
  4272. 2286(=)S
  4273. (m_ptr;)252 2370 A
  4274. 3060 V
  4275. (07099)210 648 A
  4276. 1362(if)S
  4277. ((caller_ptr->p_flags)840 1488 A
  4278. 2370(==)S
  4279. 2496(0))S
  4280. (unready(caller_ptr);)840 2622 A
  4281. 3150 V
  4282. (07100)210 648 A
  4283. (caller_ptr->p_flags)798 1362 A
  4284. 2202(|=)S
  4285. (SENDING;)336 2328 A
  4286. 3240 V
  4287. (07101)210 648 A
  4288. (caller_ptr->p_sendto=)882 1362 A
  4289. (dest;)210 2286 A
  4290. 3330 V
  4291. (07102)210 648 A
  4292. 3420 V
  4293. (07103)210 648 A
  4294. 1362(/*)S
  4295. (Process)294 1488 A
  4296. 1824(is)S
  4297. (now)126 1950 A
  4298. (blocked.)336 2118 A
  4299. (Put)126 2538 A
  4300. 2706(in)S
  4301. 2832(on)S
  4302. (the)126 2958 A
  4303. (destination's)546 3126 A
  4304. (queue.)252 3714 A
  4305. 4008(*/)S
  4306. 3510 V
  4307. (07104)210 648 A
  4308. 1362(if)S
  4309. 1488(()S
  4310. ((next_ptr)378 1572 A
  4311. 1992(=)S
  4312. (dest_ptr->p_callerq))840 2076 A
  4313. 2958(==)S
  4314. (NIL_PROC))378 3084 A
  4315. 3600 V
  4316. (07105)210 648 A
  4317. (dest_ptr->p_callerq)798 1698 A
  4318. 2538(=)S
  4319. (caller_ptr;)462 2622 A
  4320. 3690 V
  4321. (07106)210 648 A
  4322. (else)168 1362 A
  4323. 1572({)S
  4324. 3780 V
  4325. (07107)210 648 A
  4326. (while)210 1698 A
  4327. ((next_ptr->p_sendlink)882 1950 A
  4328. 2874(!=)S
  4329. (NIL_PROC))378 3000 A
  4330. 3870 V
  4331. (07108)210 648 A
  4332. (next_ptr)336 2034 A
  4333. 2412(=)S
  4334. (next_ptr->p_sendlink;)882 2496 A
  4335. 3960 V
  4336. (07109)210 648 A
  4337. (next_ptr->p_sendlink)840 1698 A
  4338. 2580(=)S
  4339. (caller_ptr;)462 2664 A
  4340. 4050 V
  4341. (07110)210 648 A
  4342. 1362(})S
  4343. 4140 V
  4344. (07111)210 648 A
  4345. (caller_ptr->p_sendlink)924 1362 A
  4346. 2328(=)S
  4347. (NIL_PROC;)378 2412 A
  4348. 4230 V
  4349. (07112)210 648 A
  4350. 1110(})S
  4351. 4320 V
  4352. (07113)210 648 A
  4353. (return(OK);)462 1110 A
  4354. 4410 V
  4355. (07114)210 648 A
  4356. 1026(})S
  4357. 4590 V
  4358. (07116)210 648 A
  4359. (/*===========================================================================*)3276 1026 A
  4360. 4680 V
  4361. (07117)210 648 A
  4362. 1068(*)S
  4363. (mini_rec)336 2370 A
  4364. 4260(*)S
  4365. 4770 V
  4366. (07118)210 648 A
  4367. (*===========================================================================*/)3276 1068 A
  4368. 4860 V
  4369. (07119)210 648 A
  4370. (PRIVATE)294 1026 A
  4371. (int)126 1362 A
  4372. (mini_rec(caller_ptr,)840 1530 A
  4373. (src,)168 2412 A
  4374. (m_ptr))252 2622 A
  4375. 4950 V
  4376. (07120)210 648 A
  4377. (register)336 1026 A
  4378. (struct)252 1404 A
  4379. (proc)168 1698 A
  4380. (*caller_ptr;)504 1908 A
  4381. 2706(/*)S
  4382. (process)294 2832 A
  4383. (trying)252 3168 A
  4384. 3462(to)S
  4385. (get)126 3588 A
  4386. (message)294 3756 A
  4387. 4092(*/)S
  4388. 5040 V
  4389. (07121)210 648 A
  4390. (int)126 1026 A
  4391. (src;)168 1194 A
  4392. 2370(/*)S
  4393. (which)210 2496 A
  4394. (message)294 2748 A
  4395. (source)252 3084 A
  4396. 3378(is)S
  4397. (wanted)252 3504 A
  4398. ((or)126 3798 A
  4399. (ANY))168 3966 A
  4400. 4176(*/)S
  4401. 5130 V
  4402. (07122)210 648 A
  4403. (message)294 1026 A
  4404. (*m_ptr;)294 1362 A
  4405. 2370(/*)S
  4406. (pointer)294 2496 A
  4407. 2832(to)S
  4408. (message)294 2958 A
  4409. (buffer)252 3294 A
  4410. 3588(*/)S
  4411. 5220 V
  4412. (07123)210 648 A
  4413. 1026({)S
  4414. 5310 V
  4415. (07124)210 648 A
  4416. 1026(/*)S
  4417. 1152(A)S
  4418. (process)294 1236 A
  4419. 1572(or)S
  4420. (task)168 1698 A
  4421. (wants)210 1908 A
  4422. 2160(to)S
  4423. (get)126 2286 A
  4424. 2454(a)S
  4425. (message.)336 2538 A
  4426. 2958(If)S
  4427. (one)126 3084 A
  4428. 3252(is)S
  4429. (already)294 3378 A
  4430. (queued,)294 3714 A
  4431. 5400 V
  4432. (07125)210 648 A
  4433. 1068(*)S
  4434. (acquire)294 1152 A
  4435. 1488(it)S
  4436. (and)126 1614 A
  4437. (deblock)294 1782 A
  4438. (the)126 2118 A
  4439. (sender.)294 2286 A
  4440. 2664(If)S
  4441. 2790(no)S
  4442. (message)294 2916 A
  4443. (from)168 3252 A
  4444. (the)126 3462 A
  4445. (desired)294 3630 A
  4446. (source)252 3966 A
  4447. 5490 V
  4448. (07126)210 648 A
  4449. 1068(*)S
  4450. 1152(is)S
  4451. (available,)420 1278 A
  4452. (block)210 1740 A
  4453. (the)126 1992 A
  4454. (caller.)294 2160 A
  4455. 2538(No)S
  4456. (need)168 2664 A
  4457. 2874(to)S
  4458. (check)210 3000 A
  4459. (parameters)420 3252 A
  4460. (for)126 3714 A
  4461. (validity.)378 3882 A
  4462. 5580 V
  4463. (07127)210 648 A
  4464. 1068(*)S
  4465. (Users)210 1152 A
  4466. (calls)210 1404 A
  4467. (are)126 1656 A
  4468. (always)252 1824 A
  4469. (sendrec(),)420 2118 A
  4470. (and)126 2580 A
  4471. (mini_send())462 2748 A
  4472. (has)126 3252 A
  4473. (checked)294 3420 A
  4474. (already.)336 3756 A
  4475. 5670 V
  4476. (07128)210 648 A
  4477. 1068(*)S
  4478. (Calls)210 1152 A
  4479. (from)168 1404 A
  4480. (the)126 1614 A
  4481. (tasks,)252 1782 A
  4482. (MM,)126 2076 A
  4483. (and)126 2244 A
  4484. 2412(FS)S
  4485. (are)126 2538 A
  4486. (trusted.)336 2706 A
  4487. 5760 V
  4488. (07129)210 648 A
  4489. 1068(*/)S
  4490. 5850 V
  4491. (07130)210 648 A
  4492. 5940 V
  4493. (07131)210 648 A
  4494. (register)336 1110 A
  4495. (struct)252 1488 A
  4496. (proc)168 1782 A
  4497. (*sender_ptr;)504 1992 A
  4498. 6030 V
  4499. (07132)210 648 A
  4500. (register)336 1110 A
  4501. (struct)252 1488 A
  4502. (proc)168 1782 A
  4503. (*previous_ptr;)588 1992 A
  4504. 6120 V
  4505. (07133)210 648 A
  4506. 6210 V
  4507. (07134)210 648 A
  4508. 1110(/*)S
  4509. (Check)210 1236 A
  4510. 1488(to)S
  4511. (see)126 1614 A
  4512. 1782(if)S
  4513. 1908(a)S
  4514. (message)294 1992 A
  4515. (from)168 2328 A
  4516. (desired)294 2538 A
  4517. (source)252 2874 A
  4518. 3168(is)S
  4519. (already)294 3294 A
  4520. (available.)420 3630 A
  4521. 4092(*/)S
  4522. 8418 V
  4523. EP
  4524. %%Page: 86 86
  4525. BP
  4526. /slant 0 def
  4527. /height 0 def
  4528. 630 V
  4529. 12 B
  4530. 648(86)S
  4531. 11 R
  4532. 2049(File:)S
  4533. 2282(src/kernel/proc.c)S
  4534. 10 R
  4535. 3402(MINIX)S
  4536. 3730(SOURCE)S
  4537. 4153(CODE)S
  4538. 900 V
  4539. 7 LST
  4540. (07135)210 648 A
  4541. 1110(if)S
  4542. ((!(caller_ptr->p_flags)924 1236 A
  4543. 2202(&)S
  4544. (SENDING)))378 2286 A
  4545. 2706({)S
  4546. 990 V
  4547. (07136)210 648 A
  4548. 1362(/*)S
  4549. (Check)210 1488 A
  4550. (caller)252 1740 A
  4551. (queue.)252 2034 A
  4552. 2328(*/)S
  4553. 1080 V
  4554. (07137)210 648 A
  4555. (for)126 1194 A
  4556. ((sender_ptr)462 1362 A
  4557. 1866(=)S
  4558. (caller_ptr->p_callerq;)924 1950 A
  4559. (sender_ptr)420 2916 A
  4560. 3378(!=)S
  4561. (NIL_PROC;)378 3504 A
  4562. 1170 V
  4563. (07138)210 648 A
  4564. (previous_ptr)504 1404 A
  4565. 1950(=)S
  4566. (sender_ptr,)462 2034 A
  4567. (sender_ptr)420 2538 A
  4568. 3000(=)S
  4569. (sender_ptr->p_sendlink))966 3084 A
  4570. 4092({)S
  4571. 1260 V
  4572. (07139)210 648 A
  4573. 1362(if)S
  4574. ((src)168 1488 A
  4575. 1698(==)S
  4576. (ANY)126 1824 A
  4577. 1992(||)S
  4578. (src)126 2118 A
  4579. 2286(==)S
  4580. (proc_number(sender_ptr)))1008 2412 A
  4581. 3462({)S
  4582. 1350 V
  4583. (07140)210 648 A
  4584. 1698(/*)S
  4585. 1824(An)S
  4586. (acceptable)420 1950 A
  4587. (message)294 2412 A
  4588. (has)126 2748 A
  4589. (been)168 2916 A
  4590. (found.)252 3126 A
  4591. 3420(*/)S
  4592. 1440 V
  4593. (07141)210 648 A
  4594. (CopyMess(proc_number(sender_ptr),)1386 1698 A
  4595. (sender_ptr,)462 3126 A
  4596. 1530 V
  4597. (07142)210 648 A
  4598. (sender_ptr->p_messbuf,)924 2076 A
  4599. (caller_ptr,)462 3042 A
  4600. (m_ptr);)294 3546 A
  4601. 1620 V
  4602. (07143)210 648 A
  4603. 1698(if)S
  4604. ((sender_ptr)462 1824 A
  4605. 2328(==)S
  4606. (caller_ptr->p_callerq))924 2454 A
  4607. 1710 V
  4608. (07144)210 648 A
  4609. (caller_ptr->p_callerq)882 2034 A
  4610. 2958(=)S
  4611. (sender_ptr->p_sendlink;)966 3042 A
  4612. 1800 V
  4613. (07145)210 648 A
  4614. (else)168 1698 A
  4615. 1890 V
  4616. (07146)210 648 A
  4617. (previous_ptr->p_sendlink)1008 2034 A
  4618. 3084(=)S
  4619. (sender_ptr->p_sendlink;)966 3168 A
  4620. 1980 V
  4621. (07147)210 648 A
  4622. 1698(if)S
  4623. (((sender_ptr->p_flags)882 1824 A
  4624. 2748(&=)S
  4625. (304SENDING))378 2874 A
  4626. 3294(==)S
  4627. 3420(0))S
  4628. 2070 V
  4629. (07148)210 648 A
  4630. (ready(sender_ptr);)756 2034 A
  4631. 3042(/*)S
  4632. (deblock)294 3168 A
  4633. (sender)252 3504 A
  4634. 3798(*/)S
  4635. 2160 V
  4636. (07149)210 648 A
  4637. (return(OK);)462 1698 A
  4638. 2250 V
  4639. (07150)210 648 A
  4640. 1362(})S
  4641. 2340 V
  4642. (07151)210 648 A
  4643. 1194(})S
  4644. 2430 V
  4645. (07152)210 648 A
  4646. 2520 V
  4647. (07153)210 648 A
  4648. 1194(/*)S
  4649. (Check)210 1320 A
  4650. (for)126 1572 A
  4651. (blocked)294 1740 A
  4652. (interrupt.)420 2076 A
  4653. 2538(*/)S
  4654. 2610 V
  4655. (07154)210 648 A
  4656. 1194(if)S
  4657. ((caller_ptr->p_int_blocked)1092 1320 A
  4658. 2454(&&)S
  4659. (isrxhardware(src)))756 2580 A
  4660. 3378({)S
  4661. 2700 V
  4662. (07155)210 648 A
  4663. (m_ptr->m_source)630 1362 A
  4664. 2034(=)S
  4665. (HARDWARE;)378 2118 A
  4666. 2790 V
  4667. (07156)210 648 A
  4668. (m_ptr->m_type)546 1362 A
  4669. 1950(=)S
  4670. (HARD_INT;)378 2034 A
  4671. 2880 V
  4672. (07157)210 648 A
  4673. (caller_ptr->p_int_blocked)1050 1362 A
  4674. 2454(=)S
  4675. (FALSE;)252 2538 A
  4676. 2970 V
  4677. (07158)210 648 A
  4678. (return(OK);)462 1362 A
  4679. 3060 V
  4680. (07159)210 648 A
  4681. 1194(})S
  4682. 3150 V
  4683. (07160)210 648 A
  4684. 1110(})S
  4685. 3240 V
  4686. (07161)210 648 A
  4687. 3330 V
  4688. (07162)210 648 A
  4689. 1110(/*)S
  4690. 1236(No)S
  4691. (suitable)336 1362 A
  4692. (message)294 1740 A
  4693. 2076(is)S
  4694. (available.)420 2202 A
  4695. (Block)210 2706 A
  4696. (the)126 2958 A
  4697. (process)294 3126 A
  4698. (trying)252 3462 A
  4699. 3756(to)S
  4700. (receive.)336 3882 A
  4701. 4260(*/)S
  4702. 3420 V
  4703. (07163)210 648 A
  4704. (caller_ptr->p_getfrom)882 1110 A
  4705. 2034(=)S
  4706. (src;)168 2118 A
  4707. 3510 V
  4708. (07164)210 648 A
  4709. (caller_ptr->p_messbuf)882 1110 A
  4710. 2034(=)S
  4711. (m_ptr;)252 2118 A
  4712. 3600 V
  4713. (07165)210 648 A
  4714. 1110(if)S
  4715. ((caller_ptr->p_flags)840 1236 A
  4716. 2118(==)S
  4717. 2244(0))S
  4718. (unready(caller_ptr);)840 2370 A
  4719. 3690 V
  4720. (07166)210 648 A
  4721. (caller_ptr->p_flags)798 1110 A
  4722. 1950(|=)S
  4723. (RECEIVING;)420 2076 A
  4724. 3780 V
  4725. (07167)210 648 A
  4726. 3870 V
  4727. (07168)210 648 A
  4728. 1110(/*)S
  4729. 1236(If)S
  4730. 1362(MM)S
  4731. (has)126 1488 A
  4732. (just)168 1656 A
  4733. (blocked)294 1866 A
  4734. (and)126 2202 A
  4735. (there)210 2370 A
  4736. (are)126 2622 A
  4737. (kernel)252 2790 A
  4738. (signals)294 3084 A
  4739. (pending,)336 3420 A
  4740. (now)126 3798 A
  4741. 3966(is)S
  4742. (the)126 4092 A
  4743. 3960 V
  4744. (07169)210 648 A
  4745. 1152(*)S
  4746. (time)168 1236 A
  4747. 1446(to)S
  4748. (tell)168 1572 A
  4749. 1782(MM)S
  4750. (about)210 1908 A
  4751. (them,)210 2160 A
  4752. (since)210 2412 A
  4753. 2664(it)S
  4754. (will)168 2790 A
  4755. 3000(be)S
  4756. (able)168 3126 A
  4757. 3336(to)S
  4758. (accept)252 3462 A
  4759. (the)126 3756 A
  4760. (message.)336 3924 A
  4761. 4050 V
  4762. (07170)210 648 A
  4763. 1152(*/)S
  4764. 4140 V
  4765. (07171)210 648 A
  4766. 1110(if)S
  4767. ((sig_procs)420 1236 A
  4768. 1698(>)S
  4769. 1782(0)S
  4770. 1866(&&)S
  4771. (proc_number(caller_ptr))966 1992 A
  4772. 3000(==)S
  4773. (MM_PROC_NR)420 3126 A
  4774. 3588(&&)S
  4775. (src)126 3714 A
  4776. 3882(==)S
  4777. (ANY))168 4008 A
  4778. 4230 V
  4779. (07172)210 648 A
  4780. (inform();)378 1362 A
  4781. 4320 V
  4782. (07173)210 648 A
  4783. (return(OK);)462 1110 A
  4784. 4410 V
  4785. (07174)210 648 A
  4786. 1026(})S
  4787. 4590 V
  4788. (07176)210 648 A
  4789. (/*===========================================================================*)3276 1026 A
  4790. 4680 V
  4791. (07177)210 648 A
  4792. 1068(*)S
  4793. (pick_proc)378 2370 A
  4794. 4260(*)S
  4795. 4770 V
  4796. (07178)210 648 A
  4797. (*===========================================================================*/)3276 1068 A
  4798. 4860 V
  4799. (07179)210 648 A
  4800. (PRIVATE)294 1026 A
  4801. (void)168 1362 A
  4802. (pick_proc())462 1572 A
  4803. 4950 V
  4804. (07180)210 648 A
  4805. 1026({)S
  4806. 5040 V
  4807. (07181)210 648 A
  4808. 1026(/*)S
  4809. (Decide)252 1152 A
  4810. (who)126 1446 A
  4811. 1614(to)S
  4812. (run)126 1740 A
  4813. (now.)168 1908 A
  4814. 2160(A)S
  4815. (new)126 2244 A
  4816. (process)294 2412 A
  4817. 2748(is)S
  4818. (selected)336 2874 A
  4819. 3252(by)S
  4820. (setting)294 3378 A
  4821. ('proc_ptr'.)462 3714 A
  4822. 5130 V
  4823. (07182)210 648 A
  4824. 1068(*)S
  4825. (When)168 1152 A
  4826. 1362(a)S
  4827. (fresh)210 1446 A
  4828. (user)168 1698 A
  4829. ((or)126 1908 A
  4830. (idle))210 2076 A
  4831. (process)294 2328 A
  4832. 2664(is)S
  4833. (selected,)378 2790 A
  4834. (record)252 3210 A
  4835. 3504(it)S
  4836. 3630(in)S
  4837. ('bill_ptr',)462 3756 A
  4838. 5220 V
  4839. (07183)210 648 A
  4840. 1068(*)S
  4841. 1152(so)S
  4842. (the)126 1278 A
  4843. (clock)210 1446 A
  4844. (task)168 1698 A
  4845. (can)126 1908 A
  4846. (tell)168 2076 A
  4847. (who)126 2286 A
  4848. 2454(to)S
  4849. (bill)168 2580 A
  4850. (for)126 2790 A
  4851. (system)252 2958 A
  4852. (time.)210 3252 A
  4853. 5310 V
  4854. (07184)210 648 A
  4855. 1068(*/)S
  4856. 5400 V
  4857. (07185)210 648 A
  4858. 5490 V
  4859. (07186)210 648 A
  4860. (register)336 1110 A
  4861. (struct)252 1488 A
  4862. (proc)168 1782 A
  4863. (*rp;)168 1992 A
  4864. 2370(/*)S
  4865. (process)294 2496 A
  4866. 2832(to)S
  4867. (run)126 2958 A
  4868. 3126(*/)S
  4869. 5580 V
  4870. (07187)210 648 A
  4871. 5670 V
  4872. (07188)210 648 A
  4873. 1110(if)S
  4874. 1236(()S
  4875. ((rp)126 1320 A
  4876. 1488(=)S
  4877. (rdy_head[TASK_Q]))714 1572 A
  4878. 2328(!=)S
  4879. (NIL_PROC))378 2454 A
  4880. 2874({)S
  4881. 5760 V
  4882. (07189)210 648 A
  4883. (proc_ptr)336 1362 A
  4884. 1740(=)S
  4885. (rp;)126 1824 A
  4886. 5850 V
  4887. (07190)210 648 A
  4888. (return;)294 1362 A
  4889. 5940 V
  4890. (07191)210 648 A
  4891. 1110(})S
  4892. 6030 V
  4893. (07192)210 648 A
  4894. 1110(if)S
  4895. 1236(()S
  4896. ((rp)126 1320 A
  4897. 1488(=)S
  4898. (rdy_head[SERVER_Q]))798 1572 A
  4899. 2412(!=)S
  4900. (NIL_PROC))378 2538 A
  4901. 2958({)S
  4902. 6120 V
  4903. (07193)210 648 A
  4904. (proc_ptr)336 1362 A
  4905. 1740(=)S
  4906. (rp;)126 1824 A
  4907. 6210 V
  4908. (07194)210 648 A
  4909. (return;)294 1362 A
  4910. 8418 V
  4911. EP
  4912. %%Page: 87 87
  4913. BP
  4914. /slant 0 def
  4915. /height 0 def
  4916. 630 V
  4917. 10 R
  4918. 648(MINIX)S
  4919. 976(SOURCE)S
  4920. 1399(CODE)S
  4921. 11 R
  4922. 2049(File:)S
  4923. 2282(src/kernel/proc.c)S
  4924. 12 B
  4925. 4308(87)S
  4926. 900 V
  4927. 7 LST
  4928. (07195)210 648 A
  4929. 1110(})S
  4930. 990 V
  4931. (07196)210 648 A
  4932. 1110(if)S
  4933. 1236(()S
  4934. ((rp)126 1320 A
  4935. 1488(=)S
  4936. (rdy_head[USER_Q]))714 1572 A
  4937. 2328(!=)S
  4938. (NIL_PROC))378 2454 A
  4939. 2874({)S
  4940. 1080 V
  4941. (07197)210 648 A
  4942. (proc_ptr)336 1362 A
  4943. 1740(=)S
  4944. (rp;)126 1824 A
  4945. 1170 V
  4946. (07198)210 648 A
  4947. (bill_ptr)336 1362 A
  4948. 1740(=)S
  4949. (rp;)126 1824 A
  4950. 1260 V
  4951. (07199)210 648 A
  4952. (return;)294 1362 A
  4953. 1350 V
  4954. (07200)210 648 A
  4955. 1110(})S
  4956. 1440 V
  4957. (07201)210 648 A
  4958. 1110(/*)S
  4959. 1236(No)S
  4960. (one)126 1362 A
  4961. 1530(is)S
  4962. (ready.)252 1656 A
  4963. (Run)126 1992 A
  4964. (the)126 2160 A
  4965. (idle)168 2328 A
  4966. (task.)210 2538 A
  4967. (The)126 2832 A
  4968. (idle)168 3000 A
  4969. (task)168 3210 A
  4970. (might)210 3420 A
  4971. 3672(be)S
  4972. (made)168 3798 A
  4973. 4008(an)S
  4974. 1530 V
  4975. (07202)210 648 A
  4976. 1152(*)S
  4977. (always-ready)504 1236 A
  4978. (user)168 1782 A
  4979. (task)168 1992 A
  4980. 2202(to)S
  4981. (avoid)210 2328 A
  4982. (this)168 2580 A
  4983. (special)294 2790 A
  4984. (case.)210 3126 A
  4985. 1620 V
  4986. (07203)210 648 A
  4987. 1152(*/)S
  4988. 1710 V
  4989. (07204)210 648 A
  4990. (bill_ptr)336 1110 A
  4991. 1488(=)S
  4992. (proc_ptr)336 1572 A
  4993. 1950(=)S
  4994. (proc_addr(IDLE);)672 2034 A
  4995. 1800 V
  4996. (07205)210 648 A
  4997. 1026(})S
  4998. 1980 V
  4999. (07207)210 648 A
  5000. (/*===========================================================================*)3276 1026 A
  5001. 2070 V
  5002. (07208)210 648 A
  5003. 1068(*)S
  5004. (ready)210 2370 A
  5005. 4260(*)S
  5006. 2160 V
  5007. (07209)210 648 A
  5008. (*===========================================================================*/)3276 1068 A
  5009. 2250 V
  5010. (07210)210 648 A
  5011. (PRIVATE)294 1026 A
  5012. (void)168 1362 A
  5013. (ready(rp))378 1572 A
  5014. 2340 V
  5015. (07211)210 648 A
  5016. (register)336 1026 A
  5017. (struct)252 1404 A
  5018. (proc)168 1698 A
  5019. (*rp;)168 1908 A
  5020. 2370(/*)S
  5021. (this)168 2496 A
  5022. (process)294 2706 A
  5023. 3042(is)S
  5024. (now)126 3168 A
  5025. (runnable)336 3336 A
  5026. 3714(*/)S
  5027. 2430 V
  5028. (07212)210 648 A
  5029. 1026({)S
  5030. 2520 V
  5031. (07213)210 648 A
  5032. 1026(/*)S
  5033. (Add)126 1152 A
  5034. ('rp')168 1320 A
  5035. 1530(to)S
  5036. (the)126 1656 A
  5037. (end)126 1824 A
  5038. 1992(of)S
  5039. (one)126 2118 A
  5040. 2286(of)S
  5041. (the)126 2412 A
  5042. (queues)252 2580 A
  5043. 2874(of)S
  5044. (runnable)336 3000 A
  5045. (processes.)420 3378 A
  5046. (Three)210 3840 A
  5047. 2610 V
  5048. (07214)210 648 A
  5049. 1068(*)S
  5050. (queues)252 1152 A
  5051. (are)126 1446 A
  5052. (maintained:)462 1614 A
  5053. 2700 V
  5054. (07215)210 648 A
  5055. 1068(*)S
  5056. (TASK_Q)252 1236 A
  5057. 1614(-)S
  5058. ((highest)336 1698 A
  5059. (priority))378 2076 A
  5060. (for)126 2496 A
  5061. (runnable)336 2664 A
  5062. (tasks)210 3042 A
  5063. 2790 V
  5064. (07216)210 648 A
  5065. 1068(*)S
  5066. (SERVER_Q)336 1236 A
  5067. 1614(-)S
  5068. ((middle)294 1698 A
  5069. (priority))378 2034 A
  5070. (for)126 2454 A
  5071. 2622(MM)S
  5072. (and)126 2748 A
  5073. 2916(FS)S
  5074. (only)168 3042 A
  5075. 2880 V
  5076. (07217)210 648 A
  5077. 1068(*)S
  5078. (USER_Q)252 1236 A
  5079. 1614(-)S
  5080. ((lowest)294 1698 A
  5081. (priority))378 2034 A
  5082. (for)126 2454 A
  5083. (user)168 2622 A
  5084. (processes)378 2832 A
  5085. 2970 V
  5086. (07218)210 648 A
  5087. 1068(*/)S
  5088. 3060 V
  5089. (07219)210 648 A
  5090. 3150 V
  5091. (07220)210 648 A
  5092. 1110(if)S
  5093. ((istaskp(rp)))546 1236 A
  5094. 1824({)S
  5095. 3240 V
  5096. (07221)210 648 A
  5097. 1362(if)S
  5098. ((rdy_head[TASK_Q])714 1488 A
  5099. 2244(!=)S
  5100. (NIL_PROC))378 2370 A
  5101. 3330 V
  5102. (07222)210 648 A
  5103. 1698(/*)S
  5104. (Add)126 1824 A
  5105. 1992(to)S
  5106. (tail)168 2118 A
  5107. 2328(of)S
  5108. (nonempty)336 2454 A
  5109. (queue.)252 2832 A
  5110. 3126(*/)S
  5111. 3420 V
  5112. (07223)210 648 A
  5113. (rdy_tail[TASK_Q]->p_nextready)1218 1698 A
  5114. 2958(=)S
  5115. (rp;)126 3042 A
  5116. 3510 V
  5117. (07224)210 648 A
  5118. (else)168 1362 A
  5119. 1572({)S
  5120. 3600 V
  5121. (07225)210 648 A
  5122. (proc_ptr)336 1698 A
  5123. 2076(=)S
  5124. 2706(/*)S
  5125. (run)126 2832 A
  5126. (fresh)210 3000 A
  5127. (task)168 3252 A
  5128. (next)168 3462 A
  5129. 3672(*/)S
  5130. 3690 V
  5131. (07226)210 648 A
  5132. (rdy_head[TASK_Q])672 1698 A
  5133. 2412(=)S
  5134. (rp;)126 2496 A
  5135. 2706(/*)S
  5136. (add)126 2832 A
  5137. 3000(to)S
  5138. (empty)210 3126 A
  5139. (queue)210 3378 A
  5140. 3630(*/)S
  5141. 3780 V
  5142. (07227)210 648 A
  5143. 1362(})S
  5144. 3870 V
  5145. (07228)210 648 A
  5146. (rdy_tail[TASK_Q])672 1362 A
  5147. 2076(=)S
  5148. (rp;)126 2160 A
  5149. 3960 V
  5150. (07229)210 648 A
  5151. (rp->p_nextready)630 1362 A
  5152. 2034(=)S
  5153. (NIL_PROC;)378 2118 A
  5154. 2706(/*)S
  5155. (new)126 2832 A
  5156. (entry)210 3000 A
  5157. (has)126 3252 A
  5158. 3420(no)S
  5159. (successor)378 3546 A
  5160. 3966(*/)S
  5161. 4050 V
  5162. (07230)210 648 A
  5163. (return;)294 1362 A
  5164. 4140 V
  5165. (07231)210 648 A
  5166. 1110(})S
  5167. 4230 V
  5168. (07232)210 648 A
  5169. 1110(if)S
  5170. ((!isuserp(rp)))588 1236 A
  5171. 1866({)S
  5172. 2370(/*)S
  5173. (others)252 2496 A
  5174. (are)126 2790 A
  5175. (similar)294 2958 A
  5176. 3294(*/)S
  5177. 4320 V
  5178. (07233)210 648 A
  5179. 1362(if)S
  5180. ((rdy_head[SERVER_Q])798 1488 A
  5181. 2328(!=)S
  5182. (NIL_PROC))378 2454 A
  5183. 4410 V
  5184. (07234)210 648 A
  5185. (rdy_tail[SERVER_Q]->p_nextready)1302 1698 A
  5186. 3042(=)S
  5187. (rp;)126 3126 A
  5188. 4500 V
  5189. (07235)210 648 A
  5190. (else)168 1362 A
  5191. 4590 V
  5192. (07236)210 648 A
  5193. (rdy_head[SERVER_Q])756 1698 A
  5194. 2496(=)S
  5195. (rp;)126 2580 A
  5196. 4680 V
  5197. (07237)210 648 A
  5198. (rdy_tail[SERVER_Q])756 1362 A
  5199. 2160(=)S
  5200. (rp;)126 2244 A
  5201. 4770 V
  5202. (07238)210 648 A
  5203. (rp->p_nextready)630 1362 A
  5204. 2034(=)S
  5205. (NIL_PROC;)378 2118 A
  5206. 4860 V
  5207. (07239)210 648 A
  5208. (return;)294 1362 A
  5209. 4950 V
  5210. (07240)210 648 A
  5211. 1110(})S
  5212. 5040 V
  5213. (07241)210 648 A
  5214. 1110(if)S
  5215. ((rdy_head[USER_Q])714 1236 A
  5216. 1992(==)S
  5217. (NIL_PROC))378 2118 A
  5218. 5130 V
  5219. (07242)210 648 A
  5220. (rdy_tail[USER_Q])672 1362 A
  5221. 2076(=)S
  5222. (rp;)126 2160 A
  5223. 5220 V
  5224. (07243)210 648 A
  5225. (rp->p_nextready)630 1110 A
  5226. 1782(=)S
  5227. (rdy_head[USER_Q];)714 1866 A
  5228. 5310 V
  5229. (07244)210 648 A
  5230. (rdy_head[USER_Q])672 1110 A
  5231. 1824(=)S
  5232. (rp;)126 1908 A
  5233. 5400 V
  5234. (07245)210 648 A
  5235. 1026(/*)S
  5236. 5490 V
  5237. (07246)210 648 A
  5238. 1110(if)S
  5239. ((rdy_head[USER_Q])714 1236 A
  5240. 1992(!=)S
  5241. (NIL_PROC))378 2118 A
  5242. 5580 V
  5243. (07247)210 648 A
  5244. (rdy_tail[USER_Q]->p_nextready)1218 1362 A
  5245. 2622(=)S
  5246. (rp;)126 2706 A
  5247. 5670 V
  5248. (07248)210 648 A
  5249. (else)168 1110 A
  5250. 5760 V
  5251. (07249)210 648 A
  5252. (rdy_head[USER_Q])672 1362 A
  5253. 2076(=)S
  5254. (rp;)126 2160 A
  5255. 5850 V
  5256. (07250)210 648 A
  5257. (rdy_tail[USER_Q])672 1110 A
  5258. 1824(=)S
  5259. (rp;)126 1908 A
  5260. 5940 V
  5261. (07251)210 648 A
  5262. (rp->p_nextready)630 1110 A
  5263. 1782(=)S
  5264. (NIL_PROC;)378 1866 A
  5265. 6030 V
  5266. (07252)210 648 A
  5267. 1026(*/)S
  5268. 6120 V
  5269. (07253)210 648 A
  5270. 1026(})S
  5271. 8418 V
  5272. EP
  5273. %%Page: 88 88
  5274. BP
  5275. /slant 0 def
  5276. /height 0 def
  5277. 630 V
  5278. 12 B
  5279. 648(88)S
  5280. 11 R
  5281. 2049(File:)S
  5282. 2282(src/kernel/proc.c)S
  5283. 10 R
  5284. 3402(MINIX)S
  5285. 3730(SOURCE)S
  5286. 4153(CODE)S
  5287. 900 V
  5288. 7 LST
  5289. (07255)210 648 A
  5290. (/*===========================================================================*)3276 1026 A
  5291. 990 V
  5292. (07256)210 648 A
  5293. 1068(*)S
  5294. (unready)294 2370 A
  5295. 4260(*)S
  5296. 1080 V
  5297. (07257)210 648 A
  5298. (*===========================================================================*/)3276 1068 A
  5299. 1170 V
  5300. (07258)210 648 A
  5301. (PRIVATE)294 1026 A
  5302. (void)168 1362 A
  5303. (unready(rp))462 1572 A
  5304. 1260 V
  5305. (07259)210 648 A
  5306. (register)336 1026 A
  5307. (struct)252 1404 A
  5308. (proc)168 1698 A
  5309. (*rp;)168 1908 A
  5310. 2370(/*)S
  5311. (this)168 2496 A
  5312. (process)294 2706 A
  5313. 3042(is)S
  5314. 3168(no)S
  5315. (longer)252 3294 A
  5316. (runnable)336 3588 A
  5317. 3966(*/)S
  5318. 1350 V
  5319. (07260)210 648 A
  5320. 1026({)S
  5321. 1440 V
  5322. (07261)210 648 A
  5323. 1026(/*)S
  5324. 1152(A)S
  5325. (process)294 1236 A
  5326. (has)126 1572 A
  5327. (blocked.)336 1740 A
  5328. 2118(*/)S
  5329. 1530 V
  5330. (07262)210 648 A
  5331. 1620 V
  5332. (07263)210 648 A
  5333. (register)336 1110 A
  5334. (struct)252 1488 A
  5335. (proc)168 1782 A
  5336. (*xp;)168 1992 A
  5337. 1710 V
  5338. (07264)210 648 A
  5339. (register)336 1110 A
  5340. (struct)252 1488 A
  5341. (proc)168 1782 A
  5342. (**qtail;)336 1992 A
  5343. 2412(/*)S
  5344. (TASK_Q,)294 2538 A
  5345. (SERVER_Q,)378 2874 A
  5346. 3294(or)S
  5347. (USER_Q)252 3420 A
  5348. (rdy_tail)336 3714 A
  5349. 4092(*/)S
  5350. 1800 V
  5351. (07265)210 648 A
  5352. 1890 V
  5353. (07266)210 648 A
  5354. 1110(if)S
  5355. ((istaskp(rp)))546 1236 A
  5356. 1824({)S
  5357. 1980 V
  5358. (07267)210 648 A
  5359. 1362(/*)S
  5360. (task)168 1488 A
  5361. (stack)210 1698 A
  5362. (still)210 1950 A
  5363. (ok?)126 2202 A
  5364. 2370(*/)S
  5365. 2070 V
  5366. (07268)210 648 A
  5367. 1362(if)S
  5368. ((*rp->p_stguard)630 1488 A
  5369. 2160(!=)S
  5370. (STACK_GUARD))504 2286 A
  5371. 2160 V
  5372. (07269)210 648 A
  5373. (panic("stack)504 1698 A
  5374. (overrun)294 2244 A
  5375. 2580(by)S
  5376. (task",)252 2706 A
  5377. (proc_number(rp));)714 3000 A
  5378. 2250 V
  5379. (07270)210 648 A
  5380. 2340 V
  5381. (07271)210 648 A
  5382. 1362(if)S
  5383. 1488(()S
  5384. ((xp)126 1572 A
  5385. 1740(=)S
  5386. (rdy_head[TASK_Q]))714 1824 A
  5387. 2580(==)S
  5388. (NIL_PROC))378 2706 A
  5389. (return;)294 3126 A
  5390. 2430 V
  5391. (07272)210 648 A
  5392. 1362(if)S
  5393. ((xp)126 1488 A
  5394. 1656(==)S
  5395. (rp))126 1782 A
  5396. 1950({)S
  5397. 2520 V
  5398. (07273)210 648 A
  5399. 1698(/*)S
  5400. (Remove)252 1824 A
  5401. (head)168 2118 A
  5402. 2328(of)S
  5403. (queue)210 2454 A
  5404. 2706(*/)S
  5405. 2610 V
  5406. (07274)210 648 A
  5407. (rdy_head[TASK_Q])672 1698 A
  5408. 2412(=)S
  5409. (xp->p_nextready;)672 2496 A
  5410. 2700 V
  5411. (07275)210 648 A
  5412. 1698(if)S
  5413. ((rp)126 1824 A
  5414. 1992(==)S
  5415. (proc_ptr))378 2118 A
  5416. (pick_proc();)504 2538 A
  5417. 2790 V
  5418. (07276)210 648 A
  5419. (return;)294 1698 A
  5420. 2880 V
  5421. (07277)210 648 A
  5422. 1362(})S
  5423. 2970 V
  5424. (07278)210 648 A
  5425. (qtail)210 1362 A
  5426. 1614(=)S
  5427. (&rdy_tail[TASK_Q];)756 1698 A
  5428. 3060 V
  5429. (07279)210 648 A
  5430. 1110(})S
  5431. 3150 V
  5432. (07280)210 648 A
  5433. (else)168 1110 A
  5434. 1320(if)S
  5435. ((!isuserp(rp)))588 1446 A
  5436. 2076({)S
  5437. 3240 V
  5438. (07281)210 648 A
  5439. 1362(if)S
  5440. 1488(()S
  5441. ((xp)126 1572 A
  5442. 1740(=)S
  5443. (rdy_head[SERVER_Q]))798 1824 A
  5444. 2664(==)S
  5445. (NIL_PROC))378 2790 A
  5446. (return;)294 3210 A
  5447. 3330 V
  5448. (07282)210 648 A
  5449. 1362(if)S
  5450. ((xp)126 1488 A
  5451. 1656(==)S
  5452. (rp))126 1782 A
  5453. 1950({)S
  5454. 3420 V
  5455. (07283)210 648 A
  5456. (rdy_head[SERVER_Q])756 1698 A
  5457. 2496(=)S
  5458. (xp->p_nextready;)672 2580 A
  5459. 3510 V
  5460. (07284)210 648 A
  5461. (pick_proc();)504 1698 A
  5462. 3600 V
  5463. (07285)210 648 A
  5464. (return;)294 1698 A
  5465. 3690 V
  5466. (07286)210 648 A
  5467. 1362(})S
  5468. 3780 V
  5469. (07287)210 648 A
  5470. (qtail)210 1362 A
  5471. 1614(=)S
  5472. (&rdy_tail[SERVER_Q];)840 1698 A
  5473. 3870 V
  5474. (07288)210 648 A
  5475. 1110(})S
  5476. (else)168 1194 A
  5477. 3960 V
  5478. (07289)210 648 A
  5479. 1110({)S
  5480. 4050 V
  5481. (07290)210 648 A
  5482. 1362(if)S
  5483. 1488(()S
  5484. ((xp)126 1572 A
  5485. 1740(=)S
  5486. (rdy_head[USER_Q]))714 1824 A
  5487. 2580(==)S
  5488. (NIL_PROC))378 2706 A
  5489. (return;)294 3126 A
  5490. 4140 V
  5491. (07291)210 648 A
  5492. 1362(if)S
  5493. ((xp)126 1488 A
  5494. 1656(==)S
  5495. (rp))126 1782 A
  5496. 1950({)S
  5497. 4230 V
  5498. (07292)210 648 A
  5499. (rdy_head[USER_Q])672 1698 A
  5500. 2412(=)S
  5501. (xp->p_nextready;)672 2496 A
  5502. 4320 V
  5503. (07293)210 648 A
  5504. (pick_proc();)504 1698 A
  5505. 4410 V
  5506. (07294)210 648 A
  5507. (return;)294 1698 A
  5508. 4500 V
  5509. (07295)210 648 A
  5510. 1362(})S
  5511. 4590 V
  5512. (07296)210 648 A
  5513. (qtail)210 1362 A
  5514. 1614(=)S
  5515. (&rdy_tail[USER_Q];)756 1698 A
  5516. 4680 V
  5517. (07297)210 648 A
  5518. 1110(})S
  5519. 4770 V
  5520. (07298)210 648 A
  5521. 4860 V
  5522. (07299)210 648 A
  5523. 1110(/*)S
  5524. (Search)252 1236 A
  5525. (body)168 1530 A
  5526. 1740(of)S
  5527. (queue.)252 1866 A
  5528. 2202(A)S
  5529. (process)294 2286 A
  5530. (can)126 2622 A
  5531. 2790(be)S
  5532. (made)168 2916 A
  5533. (unready)294 3126 A
  5534. (even)168 3462 A
  5535. 3672(if)S
  5536. 3798(it)S
  5537. 3924(is)S
  5538. 4950 V
  5539. (07300)210 648 A
  5540. 1152(*)S
  5541. (not)126 1236 A
  5542. (running)294 1404 A
  5543. 1740(by)S
  5544. (being)210 1866 A
  5545. (sent)168 2118 A
  5546. 2328(a)S
  5547. (signal)252 2412 A
  5548. (that)168 2706 A
  5549. (kills)210 2916 A
  5550. (it.)126 3168 A
  5551. 5040 V
  5552. (07301)210 648 A
  5553. 1152(*/)S
  5554. 5130 V
  5555. (07302)210 648 A
  5556. (while)210 1110 A
  5557. ((xp->p_nextready)672 1362 A
  5558. 2076(!=)S
  5559. (rp))126 2202 A
  5560. 5220 V
  5561. (07303)210 648 A
  5562. 1362(if)S
  5563. 1488(()S
  5564. ((xp)126 1572 A
  5565. 1740(=)S
  5566. (xp->p_nextready))672 1824 A
  5567. 2538(==)S
  5568. (NIL_PROC))378 2664 A
  5569. (return;)294 3084 A
  5570. 5310 V
  5571. (07304)210 648 A
  5572. (xp->p_nextready)630 1110 A
  5573. 1782(=)S
  5574. (xp->p_nextready->p_nextready;)1218 1866 A
  5575. 5400 V
  5576. (07305)210 648 A
  5577. 1110(if)S
  5578. ((*qtail)294 1236 A
  5579. 1572(==)S
  5580. (rp))126 1698 A
  5581. (*qtail)252 1866 A
  5582. 2160(=)S
  5583. (xp;)126 2244 A
  5584. 5490 V
  5585. (07306)210 648 A
  5586. 1026(})S
  5587. 5670 V
  5588. (07308)210 648 A
  5589. (/*===========================================================================*)3276 1026 A
  5590. 5760 V
  5591. (07309)210 648 A
  5592. 1068(*)S
  5593. (sched)210 2370 A
  5594. 4260(*)S
  5595. 5850 V
  5596. (07310)210 648 A
  5597. (*===========================================================================*/)3276 1068 A
  5598. 5940 V
  5599. (07311)210 648 A
  5600. (PRIVATE)294 1026 A
  5601. (void)168 1362 A
  5602. (sched())294 1572 A
  5603. 6030 V
  5604. (07312)210 648 A
  5605. 1026({)S
  5606. 6120 V
  5607. (07313)210 648 A
  5608. 1026(/*)S
  5609. (The)126 1152 A
  5610. (current)294 1320 A
  5611. (process)294 1656 A
  5612. (has)126 1992 A
  5613. (run)126 2160 A
  5614. (too)126 2328 A
  5615. (long.)210 2496 A
  5616. 2790(If)S
  5617. (another)294 2916 A
  5618. (low)126 3252 A
  5619. (priority)336 3420 A
  5620. ((user))252 3798 A
  5621. 6210 V
  5622. (07314)210 648 A
  5623. 1068(*)S
  5624. (process)294 1152 A
  5625. 1488(is)S
  5626. (runnable,)378 1614 A
  5627. (put)126 2034 A
  5628. (the)126 2202 A
  5629. (current)294 2370 A
  5630. (process)294 2706 A
  5631. 3042(on)S
  5632. (the)126 3168 A
  5633. (end)126 3336 A
  5634. 3504(of)S
  5635. (the)126 3630 A
  5636. (user)168 3798 A
  5637. (queue,)252 4008 A
  5638. 8418 V
  5639. EP
  5640. %%Page: 89 89
  5641. BP
  5642. /slant 0 def
  5643. /height 0 def
  5644. 630 V
  5645. 10 R
  5646. 648(MINIX)S
  5647. 976(SOURCE)S
  5648. 1399(CODE)S
  5649. 11 R
  5650. 2049(File:)S
  5651. 2282(src/kernel/proc.c)S
  5652. 12 B
  5653. 4308(89)S
  5654. 900 V
  5655. 7 LST
  5656. (07315)210 648 A
  5657. 1068(*)S
  5658. (possibly)336 1152 A
  5659. (promoting)378 1530 A
  5660. (another)294 1950 A
  5661. (user)168 2286 A
  5662. 2496(to)S
  5663. (head)168 2622 A
  5664. 2832(of)S
  5665. (the)126 2958 A
  5666. (queue.)252 3126 A
  5667. 990 V
  5668. (07316)210 648 A
  5669. 1068(*/)S
  5670. 1080 V
  5671. (07317)210 648 A
  5672. 1170 V
  5673. (07318)210 648 A
  5674. 1110(if)S
  5675. ((rdy_head[USER_Q])714 1236 A
  5676. 1992(==)S
  5677. (NIL_PROC))378 2118 A
  5678. (return;)294 2538 A
  5679. 1260 V
  5680. (07319)210 648 A
  5681. 1350 V
  5682. (07320)210 648 A
  5683. 1110(/*)S
  5684. (One)126 1236 A
  5685. 1404(or)S
  5686. (more)168 1530 A
  5687. (user)168 1740 A
  5688. (processes)378 1950 A
  5689. (queued.)294 2370 A
  5690. 2706(*/)S
  5691. 1440 V
  5692. (07321)210 648 A
  5693. (rdy_tail[USER_Q]->p_nextready)1218 1110 A
  5694. 2370(=)S
  5695. (rdy_head[USER_Q];)714 2454 A
  5696. 1530 V
  5697. (07322)210 648 A
  5698. (rdy_tail[USER_Q])672 1110 A
  5699. 1824(=)S
  5700. (rdy_head[USER_Q];)714 1908 A
  5701. 1620 V
  5702. (07323)210 648 A
  5703. (rdy_head[USER_Q])672 1110 A
  5704. 1824(=)S
  5705. (rdy_head[USER_Q]->p_nextready;)1260 1908 A
  5706. 1710 V
  5707. (07324)210 648 A
  5708. (rdy_tail[USER_Q]->p_nextready)1218 1110 A
  5709. 2370(=)S
  5710. (NIL_PROC;)378 2454 A
  5711. 1800 V
  5712. (07325)210 648 A
  5713. (pick_proc();)504 1110 A
  5714. 1890 V
  5715. (07326)210 648 A
  5716. 1026(})S
  5717. 2070 V
  5718. (07328)210 648 A
  5719. (/*==========================================================================*)3234 1026 A
  5720. 2160 V
  5721. (07329)210 648 A
  5722. 1068(*)S
  5723. (lock_mini_send)588 2370 A
  5724. 4218(*)S
  5725. 2250 V
  5726. (07330)210 648 A
  5727. (*==========================================================================*/)3234 1068 A
  5728. 2340 V
  5729. (07331)210 648 A
  5730. (PUBLIC)252 1026 A
  5731. (int)126 1320 A
  5732. (lock_mini_send(caller_ptr,)1092 1488 A
  5733. (dest,)210 2622 A
  5734. (m_ptr))252 2874 A
  5735. 2430 V
  5736. (07332)210 648 A
  5737. (struct)252 1026 A
  5738. (proc)168 1320 A
  5739. (*caller_ptr;)504 1530 A
  5740. 2370(/*)S
  5741. (who)126 2496 A
  5742. 2664(is)S
  5743. (trying)252 2790 A
  5744. 3084(to)S
  5745. (send)168 3210 A
  5746. 3420(a)S
  5747. (message?)336 3504 A
  5748. 3882(*/)S
  5749. 2520 V
  5750. (07333)210 648 A
  5751. (int)126 1026 A
  5752. (dest;)210 1194 A
  5753. 2370(/*)S
  5754. 2496(to)S
  5755. (whom)168 2622 A
  5756. 2832(is)S
  5757. (message)294 2958 A
  5758. (being)210 3294 A
  5759. (sent?)210 3546 A
  5760. 3798(*/)S
  5761. 2610 V
  5762. (07334)210 648 A
  5763. (message)294 1026 A
  5764. (*m_ptr;)294 1362 A
  5765. 2370(/*)S
  5766. (pointer)294 2496 A
  5767. 2832(to)S
  5768. (message)294 2958 A
  5769. (buffer)252 3294 A
  5770. 3588(*/)S
  5771. 2700 V
  5772. (07335)210 648 A
  5773. 1026({)S
  5774. 2790 V
  5775. (07336)210 648 A
  5776. 1026(/*)S
  5777. (Safe)168 1152 A
  5778. (gateway)294 1362 A
  5779. 1698(to)S
  5780. (mini_send())462 1824 A
  5781. (for)126 2328 A
  5782. (tasks.)252 2496 A
  5783. 2790(*/)S
  5784. 2880 V
  5785. (07337)210 648 A
  5786. 2970 V
  5787. (07338)210 648 A
  5788. (int)126 1110 A
  5789. (result;)294 1278 A
  5790. 3060 V
  5791. (07339)210 648 A
  5792. 3150 V
  5793. (07340)210 648 A
  5794. (switching)378 1110 A
  5795. 1530(=)S
  5796. (TRUE;)210 1614 A
  5797. 3240 V
  5798. (07341)210 648 A
  5799. (result)252 1110 A
  5800. 1404(=)S
  5801. (mini_send(caller_ptr,)882 1488 A
  5802. (dest,)210 2412 A
  5803. (m_ptr);)294 2664 A
  5804. 3330 V
  5805. (07342)210 648 A
  5806. (switching)378 1110 A
  5807. 1530(=)S
  5808. (FALSE;)252 1614 A
  5809. 3420 V
  5810. (07343)210 648 A
  5811. (return(result);)630 1110 A
  5812. 3510 V
  5813. (07344)210 648 A
  5814. 1026(})S
  5815. 3690 V
  5816. (07346)210 648 A
  5817. (/*==========================================================================*)3234 1026 A
  5818. 3780 V
  5819. (07347)210 648 A
  5820. 1068(*)S
  5821. (lock_pick_proc)588 2370 A
  5822. 4218(*)S
  5823. 3870 V
  5824. (07348)210 648 A
  5825. (*==========================================================================*/)3234 1068 A
  5826. 3960 V
  5827. (07349)210 648 A
  5828. (PUBLIC)252 1026 A
  5829. (void)168 1320 A
  5830. (lock_pick_proc())672 1530 A
  5831. 4050 V
  5832. (07350)210 648 A
  5833. 1026({)S
  5834. 4140 V
  5835. (07351)210 648 A
  5836. 1026(/*)S
  5837. (Safe)168 1152 A
  5838. (gateway)294 1362 A
  5839. 1698(to)S
  5840. (pick_proc())462 1824 A
  5841. (for)126 2328 A
  5842. (tasks.)252 2496 A
  5843. 2790(*/)S
  5844. 4230 V
  5845. (07352)210 648 A
  5846. 4320 V
  5847. (07353)210 648 A
  5848. (switching)378 1110 A
  5849. 1530(=)S
  5850. (TRUE;)210 1614 A
  5851. 4410 V
  5852. (07354)210 648 A
  5853. (pick_proc();)504 1110 A
  5854. 4500 V
  5855. (07355)210 648 A
  5856. (switching)378 1110 A
  5857. 1530(=)S
  5858. (FALSE;)252 1614 A
  5859. 4590 V
  5860. (07356)210 648 A
  5861. 1026(})S
  5862. 4770 V
  5863. (07358)210 648 A
  5864. (/*==========================================================================*)3234 1026 A
  5865. 4860 V
  5866. (07359)210 648 A
  5867. 1068(*)S
  5868. (lock_ready)420 2370 A
  5869. 4218(*)S
  5870. 4950 V
  5871. (07360)210 648 A
  5872. (*==========================================================================*/)3234 1068 A
  5873. 5040 V
  5874. (07361)210 648 A
  5875. (PUBLIC)252 1026 A
  5876. (void)168 1320 A
  5877. (lock_ready(rp))588 1530 A
  5878. 5130 V
  5879. (07362)210 648 A
  5880. (struct)252 1026 A
  5881. (proc)168 1320 A
  5882. (*rp;)168 1530 A
  5883. 2370(/*)S
  5884. (this)168 2496 A
  5885. (process)294 2706 A
  5886. 3042(is)S
  5887. (now)126 3168 A
  5888. (runnable)336 3336 A
  5889. 3714(*/)S
  5890. 5220 V
  5891. (07363)210 648 A
  5892. 1026({)S
  5893. 5310 V
  5894. (07364)210 648 A
  5895. 1026(/*)S
  5896. (Safe)168 1152 A
  5897. (gateway)294 1362 A
  5898. 1698(to)S
  5899. (ready())294 1824 A
  5900. (for)126 2160 A
  5901. (tasks.)252 2328 A
  5902. 2622(*/)S
  5903. 5400 V
  5904. (07365)210 648 A
  5905. 5490 V
  5906. (07366)210 648 A
  5907. (switching)378 1110 A
  5908. 1530(=)S
  5909. (TRUE;)210 1614 A
  5910. 5580 V
  5911. (07367)210 648 A
  5912. (ready(rp);)420 1110 A
  5913. 5670 V
  5914. (07368)210 648 A
  5915. (switching)378 1110 A
  5916. 1530(=)S
  5917. (FALSE;)252 1614 A
  5918. 5760 V
  5919. (07369)210 648 A
  5920. 1026(})S
  5921. 6030 V
  5922. (07372)210 648 A
  5923. (/*==========================================================================*)3234 1026 A
  5924. 6120 V
  5925. (07373)210 648 A
  5926. 1068(*)S
  5927. (lock_unready)504 2370 A
  5928. 4218(*)S
  5929. 6210 V
  5930. (07374)210 648 A
  5931. (*==========================================================================*/)3234 1068 A
  5932. 8418 V
  5933. EP
  5934. %%Page: 90 90
  5935. BP
  5936. /slant 0 def
  5937. /height 0 def
  5938. 630 V
  5939. 12 B
  5940. 648(90)S
  5941. 11 R
  5942. 2049(File:)S
  5943. 2282(src/kernel/proc.c)S
  5944. 10 R
  5945. 3402(MINIX)S
  5946. 3730(SOURCE)S
  5947. 4153(CODE)S
  5948. 900 V
  5949. 7 LST
  5950. (07375)210 648 A
  5951. (PUBLIC)252 1026 A
  5952. (void)168 1320 A
  5953. (lock_unready(rp))672 1530 A
  5954. 990 V
  5955. (07376)210 648 A
  5956. (struct)252 1026 A
  5957. (proc)168 1320 A
  5958. (*rp;)168 1530 A
  5959. 2370(/*)S
  5960. (this)168 2496 A
  5961. (process)294 2706 A
  5962. 3042(is)S
  5963. 3168(no)S
  5964. (longer)252 3294 A
  5965. (runnable)336 3588 A
  5966. 3966(*/)S
  5967. 1080 V
  5968. (07377)210 648 A
  5969. 1026({)S
  5970. 1170 V
  5971. (07378)210 648 A
  5972. 1026(/*)S
  5973. (Safe)168 1152 A
  5974. (gateway)294 1362 A
  5975. 1698(to)S
  5976. (unready())378 1824 A
  5977. (for)126 2244 A
  5978. (tasks.)252 2412 A
  5979. 2706(*/)S
  5980. 1260 V
  5981. (07379)210 648 A
  5982. 1350 V
  5983. (07380)210 648 A
  5984. (switching)378 1110 A
  5985. 1530(=)S
  5986. (TRUE;)210 1614 A
  5987. 1440 V
  5988. (07381)210 648 A
  5989. (unready(rp);)504 1110 A
  5990. 1530 V
  5991. (07382)210 648 A
  5992. (switching)378 1110 A
  5993. 1530(=)S
  5994. (FALSE;)252 1614 A
  5995. 1620 V
  5996. (07383)210 648 A
  5997. 1026(})S
  5998. 1800 V
  5999. (07385)210 648 A
  6000. (/*==========================================================================*)3234 1026 A
  6001. 1890 V
  6002. (07386)210 648 A
  6003. 1068(*)S
  6004. (lock_sched)420 2370 A
  6005. 4218(*)S
  6006. 1980 V
  6007. (07387)210 648 A
  6008. (*==========================================================================*/)3234 1068 A
  6009. 2070 V
  6010. (07388)210 648 A
  6011. (PUBLIC)252 1026 A
  6012. (void)168 1320 A
  6013. (lock_sched())504 1530 A
  6014. 2160 V
  6015. (07389)210 648 A
  6016. 1026({)S
  6017. 2250 V
  6018. (07390)210 648 A
  6019. 1026(/*)S
  6020. (Safe)168 1152 A
  6021. (gateway)294 1362 A
  6022. 1698(to)S
  6023. (sched())294 1824 A
  6024. (for)126 2160 A
  6025. (tasks.)252 2328 A
  6026. 2622(*/)S
  6027. 2340 V
  6028. (07391)210 648 A
  6029. 2430 V
  6030. (07392)210 648 A
  6031. (switching)378 1110 A
  6032. 1530(=)S
  6033. (TRUE;)210 1614 A
  6034. 2520 V
  6035. (07393)210 648 A
  6036. (sched();)336 1110 A
  6037. 2610 V
  6038. (07394)210 648 A
  6039. (switching)378 1110 A
  6040. 1530(=)S
  6041. (FALSE;)252 1614 A
  6042. 2700 V
  6043. (07395)210 648 A
  6044. 1026(})S
  6045. 2880 V
  6046. (07397)210 648 A
  6047. (/*==========================================================================*)3234 1026 A
  6048. 2970 V
  6049. (07398)210 648 A
  6050. 1068(*)S
  6051. (unhold)252 2370 A
  6052. 4218(*)S
  6053. 3060 V
  6054. (07399)210 648 A
  6055. (*==========================================================================*/)3234 1068 A
  6056. 3150 V
  6057. (07400)210 648 A
  6058. (PUBLIC)252 1026 A
  6059. (void)168 1320 A
  6060. (unhold())336 1530 A
  6061. 3240 V
  6062. (07401)210 648 A
  6063. 1026({)S
  6064. 3330 V
  6065. (07402)210 648 A
  6066. 1026(/*)S
  6067. (Flush)210 1152 A
  6068. (any)126 1404 A
  6069. (held-up)294 1572 A
  6070. (interrupts.)462 1908 A
  6071. (k_reenter)378 2454 A
  6072. (must)168 2874 A
  6073. 3084(be)S
  6074. 3210(0.)S
  6075. (held_head)378 3378 A
  6076. (must)168 3798 A
  6077. (not)126 4008 A
  6078. 3420 V
  6079. (07403)210 648 A
  6080. 1068(*)S
  6081. 1152(be)S
  6082. (NIL_PROC.)378 1278 A
  6083. (Interrupts)420 1740 A
  6084. (must)168 2202 A
  6085. 2412(be)S
  6086. (disabled.)378 2538 A
  6087. (They)168 3000 A
  6088. (will)168 3210 A
  6089. 3420(be)S
  6090. (enabled)294 3546 A
  6091. (but)126 3882 A
  6092. (will)168 4050 A
  6093. 3510 V
  6094. (07404)210 648 A
  6095. 1068(*)S
  6096. 1152(be)S
  6097. (disabled)336 1278 A
  6098. (when)168 1656 A
  6099. (this)168 1866 A
  6100. (returns.)336 2076 A
  6101. 3600 V
  6102. (07405)210 648 A
  6103. 1068(*/)S
  6104. 3690 V
  6105. (07406)210 648 A
  6106. 3780 V
  6107. (07407)210 648 A
  6108. (register)336 1110 A
  6109. (struct)252 1488 A
  6110. (proc)168 1782 A
  6111. (*rp;)168 1992 A
  6112. 2370(/*)S
  6113. (current)294 2496 A
  6114. (head)168 2832 A
  6115. 3042(of)S
  6116. (held)168 3168 A
  6117. (queue)210 3378 A
  6118. 3630(*/)S
  6119. 3870 V
  6120. (07408)210 648 A
  6121. 3960 V
  6122. (07409)210 648 A
  6123. 1110(if)S
  6124. ((switching))462 1236 A
  6125. (return;)294 1740 A
  6126. 4050 V
  6127. (07410)210 648 A
  6128. 1110(rp)S
  6129. 1236(=)S
  6130. (held_head;)420 1320 A
  6131. 4140 V
  6132. (07411)210 648 A
  6133. 1110(do)S
  6134. 1236({)S
  6135. 4230 V
  6136. (07412)210 648 A
  6137. 1362(if)S
  6138. 1488(()S
  6139. ((held_head)420 1572 A
  6140. 2034(=)S
  6141. (rp->p_nextheld))630 2118 A
  6142. 2790(==)S
  6143. (NIL_PROC))378 2916 A
  6144. (held_tail)378 3336 A
  6145. 3756(=)S
  6146. (NIL_PROC;)378 3840 A
  6147. 4320 V
  6148. (07413)210 648 A
  6149. (rp->p_int_held)588 1362 A
  6150. 1992(=)S
  6151. (FALSE;)252 2076 A
  6152. 4410 V
  6153. (07414)210 648 A
  6154. (unlock();)378 1362 A
  6155. 2370(/*)S
  6156. (reduce)252 2496 A
  6157. (latency;)336 2790 A
  6158. (held)168 3168 A
  6159. (queue)210 3378 A
  6160. (may)126 3630 A
  6161. (change!)294 3798 A
  6162. 4134(*/)S
  6163. 4500 V
  6164. (07415)210 648 A
  6165. (interrupt(proc_number(rp));)1134 1362 A
  6166. 4590 V
  6167. (07416)210 648 A
  6168. (lock();)294 1362 A
  6169. 2370(/*)S
  6170. (protect)294 2496 A
  6171. (the)126 2832 A
  6172. (held)168 3000 A
  6173. (queue)210 3210 A
  6174. (again)210 3462 A
  6175. 3714(*/)S
  6176. 4680 V
  6177. (07417)210 648 A
  6178. 1110(})S
  6179. 4770 V
  6180. (07418)210 648 A
  6181. (while)210 1110 A
  6182. 1362(()S
  6183. ((rp)126 1446 A
  6184. 1614(=)S
  6185. (held_head))420 1698 A
  6186. 2160(!=)S
  6187. (NIL_PROC);)420 2286 A
  6188. 4860 V
  6189. (07419)210 648 A
  6190. 1026(})S
  6191. 8418 V
  6192. EP
  6193. %%Page: 91 91
  6194. BP
  6195. /slant 0 def
  6196. /height 0 def
  6197. 630 V
  6198. 10 R
  6199. 648(MINIX)S
  6200. 976(SOURCE)S
  6201. 1399(CODE)S
  6202. 11 R
  6203. 1931(File:)S
  6204. 2164(src/kernel/exception.c)S
  6205. 12 B
  6206. 4308(91)S
  6207. 990 V
  6208. 7 LST
  6209. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  6210. 1080 V
  6211. (src/kernel/exception.c)924 2034 A
  6212. 1170 V
  6213. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  6214. 1350 V
  6215. (07500)210 648 A
  6216. 1026(/*)S
  6217. (This)168 1152 A
  6218. (file)168 1362 A
  6219. (contains)336 1572 A
  6220. 1950(a)S
  6221. (simple)252 2034 A
  6222. (exception)378 2328 A
  6223. (handler.)336 2748 A
  6224. (Exceptions)420 3168 A
  6225. 3630(in)S
  6226. (user)168 3756 A
  6227. 1440 V
  6228. (07501)210 648 A
  6229. 1068(*)S
  6230. (processes)378 1152 A
  6231. (are)126 1572 A
  6232. (converted)378 1740 A
  6233. 2160(to)S
  6234. (signals.)336 2286 A
  6235. (Exceptions)420 2706 A
  6236. 3168(in)S
  6237. (the)126 3294 A
  6238. (kernel,)294 3462 A
  6239. 3798(MM)S
  6240. (and)126 3924 A
  6241. 1530 V
  6242. (07502)210 648 A
  6243. 1068(*)S
  6244. 1152(FS)S
  6245. (cause)210 1278 A
  6246. 1530(a)S
  6247. (panic.)252 1614 A
  6248. 1620 V
  6249. (07503)210 648 A
  6250. 1068(*/)S
  6251. 1710 V
  6252. (07504)210 648 A
  6253. 1800 V
  6254. (07505)210 648 A
  6255. (#include)336 1026 A
  6256. ("kernel.h")420 1404 A
  6257. 1890 V
  6258. (07506)210 648 A
  6259. (#include)336 1026 A
  6260. (<signal.h>)420 1404 A
  6261. 1980 V
  6262. (07507)210 648 A
  6263. (#include)336 1026 A
  6264. ("proc.h")336 1404 A
  6265. 2070 V
  6266. (07508)210 648 A
  6267. 2160 V
  6268. (07509)210 648 A
  6269. (/*==========================================================================*)3234 1026 A
  6270. 2250 V
  6271. (07510)210 648 A
  6272. 1068(*)S
  6273. (exception)378 2370 A
  6274. 4218(*)S
  6275. 2340 V
  6276. (07511)210 648 A
  6277. (*==========================================================================*/)3234 1068 A
  6278. 2430 V
  6279. (07512)210 648 A
  6280. (PUBLIC)252 1026 A
  6281. (void)168 1320 A
  6282. (exception(vec_nr))714 1530 A
  6283. 2520 V
  6284. (07513)210 648 A
  6285. (unsigned)336 1026 A
  6286. (vec_nr;)294 1404 A
  6287. 2610 V
  6288. (07514)210 648 A
  6289. 1026({)S
  6290. 2700 V
  6291. (07515)210 648 A
  6292. 1026(/*)S
  6293. 1152(An)S
  6294. (exception)378 1278 A
  6295. 1698(or)S
  6296. (unexpected)420 1824 A
  6297. (interrupt)378 2286 A
  6298. (has)126 2706 A
  6299. (occurred.)378 2874 A
  6300. 3294(*/)S
  6301. 2790 V
  6302. (07516)210 648 A
  6303. 2880 V
  6304. (07517)210 648 A
  6305. (struct)252 1110 A
  6306. (ex_s)168 1404 A
  6307. 1614({)S
  6308. 2970 V
  6309. (07518)210 648 A
  6310. (char)168 1362 A
  6311. (*msg;)210 1572 A
  6312. 3060 V
  6313. (07519)210 648 A
  6314. (int)126 1362 A
  6315. (signum;)294 1530 A
  6316. 3150 V
  6317. (07520)210 648 A
  6318. (int)126 1362 A
  6319. (minprocessor;)546 1530 A
  6320. 3240 V
  6321. (07521)210 648 A
  6322. 1110(};)S
  6323. 3330 V
  6324. (07522)210 648 A
  6325. (static)252 1110 A
  6326. (struct)252 1404 A
  6327. (ex_s)168 1698 A
  6328. (ex_data[])378 1908 A
  6329. 2328(=)S
  6330. 2412({)S
  6331. 3420 V
  6332. (07523)210 648 A
  6333. ("Divide)294 1362 A
  6334. (error",)294 1698 A
  6335. (SIGFPE,)294 2034 A
  6336. (86,)126 2370 A
  6337. 3510 V
  6338. (07524)210 648 A
  6339. ("Debug)252 1362 A
  6340. (exception",)462 1656 A
  6341. (SIGTRAP,)336 2160 A
  6342. (86,)126 2538 A
  6343. 3600 V
  6344. (07525)210 648 A
  6345. ("Nonmaskable)504 1362 A
  6346. (interrupt",)462 1908 A
  6347. (SIGBUS,)294 2412 A
  6348. (86,)126 2748 A
  6349. 3690 V
  6350. (07526)210 648 A
  6351. ("Breakpoint",)546 1362 A
  6352. (SIGEMT,)294 1950 A
  6353. (86,)126 2286 A
  6354. 3780 V
  6355. (07527)210 648 A
  6356. ("Overflow",)462 1362 A
  6357. (SIGFPE,)294 1866 A
  6358. (86,)126 2202 A
  6359. 3870 V
  6360. (07528)210 648 A
  6361. ("Bounds)294 1362 A
  6362. (check",)294 1698 A
  6363. (SIGFPE,)294 2034 A
  6364. (186,)168 2370 A
  6365. 3960 V
  6366. (07529)210 648 A
  6367. ("Invalid)336 1362 A
  6368. (opcode",)336 1740 A
  6369. (SIGILL,)294 2118 A
  6370. (186,)168 2454 A
  6371. 4050 V
  6372. (07530)210 648 A
  6373. ("Coprocessor)504 1362 A
  6374. (not)126 1908 A
  6375. (available",)462 2076 A
  6376. (SIGFPE,)294 2580 A
  6377. (186,)168 2916 A
  6378. 4140 V
  6379. (07531)210 648 A
  6380. ("Double)294 1362 A
  6381. (fault",)294 1698 A
  6382. (SIGBUS,)294 2034 A
  6383. (286,)168 2370 A
  6384. 4230 V
  6385. (07532)210 648 A
  6386. ("Copressor)420 1362 A
  6387. (segment)294 1824 A
  6388. (overrun",)378 2160 A
  6389. (SIGSEGV,)336 2580 A
  6390. (286,)168 2958 A
  6391. 4320 V
  6392. (07533)210 648 A
  6393. ("Invalid)336 1362 A
  6394. (TSS",)210 1740 A
  6395. (SIGSEGV,)336 1992 A
  6396. (286,)168 2370 A
  6397. 4410 V
  6398. (07534)210 648 A
  6399. ("Segment)336 1362 A
  6400. (not)126 1740 A
  6401. (present",)378 1908 A
  6402. (SIGSEGV,)336 2328 A
  6403. (286,)168 2706 A
  6404. 4500 V
  6405. (07535)210 648 A
  6406. ("Stack)252 1362 A
  6407. (exception",)462 1656 A
  6408. (SIGSEGV,)336 2160 A
  6409. (286,)168 2538 A
  6410. 3042(/*)S
  6411. (STACK_FAULT)462 3168 A
  6412. (already)294 3672 A
  6413. (used)168 4008 A
  6414. 4218(*/)S
  6415. 4590 V
  6416. (07536)210 648 A
  6417. ("General)336 1362 A
  6418. (protection",)504 1740 A
  6419. (SIGSEGV,)336 2286 A
  6420. (286,)168 2664 A
  6421. 4680 V
  6422. (07537)210 648 A
  6423. ("Page)210 1362 A
  6424. (fault",)294 1614 A
  6425. (SIGSEGV,)336 1950 A
  6426. (386,)168 2328 A
  6427. 3042(/*)S
  6428. (not)126 3168 A
  6429. (close)210 3336 A
  6430. 3588(*/)S
  6431. 4770 V
  6432. (07538)210 648 A
  6433. (NIL_PTR,)336 1362 A
  6434. (SIGILL,)294 1740 A
  6435. 2076(0,)S
  6436. 3042(/*)S
  6437. (probably)336 3168 A
  6438. (software)336 3546 A
  6439. (trap)168 3924 A
  6440. 4134(*/)S
  6441. 4860 V
  6442. (07539)210 648 A
  6443. ("Coprocessor)504 1362 A
  6444. (error",)294 1908 A
  6445. (SIGFPE,)294 2244 A
  6446. (386,)168 2580 A
  6447. 4950 V
  6448. (07540)210 648 A
  6449. 1110(};)S
  6450. 5040 V
  6451. (07541)210 648 A
  6452. (register)336 1110 A
  6453. (struct)252 1488 A
  6454. (ex_s)168 1782 A
  6455. (*ep;)168 1992 A
  6456. 5130 V
  6457. (07542)210 648 A
  6458. (struct)252 1110 A
  6459. (proc)168 1404 A
  6460. (*saved_proc;)504 1614 A
  6461. 5220 V
  6462. (07543)210 648 A
  6463. 5310 V
  6464. (07544)210 648 A
  6465. (saved_proc=)462 1110 A
  6466. (proc_ptr;)378 1614 A
  6467. 2034(/*)S
  6468. (Save)168 2160 A
  6469. (proc_ptr,)378 2370 A
  6470. (because)294 2790 A
  6471. 3126(it)S
  6472. (may)126 3252 A
  6473. 3420(be)S
  6474. (changed)294 3546 A
  6475. 3882(by)S
  6476. (debug)210 4008 A
  6477. 5400 V
  6478. (07545)210 648 A
  6479. 2076(*)S
  6480. (statements.)462 2160 A
  6481. 5490 V
  6482. (07546)210 648 A
  6483. 2076(*/)S
  6484. 5580 V
  6485. (07547)210 648 A
  6486. 5670 V
  6487. (07548)210 648 A
  6488. 1110(ep)S
  6489. 1236(=)S
  6490. (&ex_data[vec_nr];)714 1320 A
  6491. 5760 V
  6492. (07549)210 648 A
  6493. 5850 V
  6494. (07550)210 648 A
  6495. 1110(if)S
  6496. ((vec_nr)294 1236 A
  6497. 1572(==)S
  6498. 1698(2))S
  6499. 1824({)S
  6500. 2370(/*)S
  6501. (spurious)336 2496 A
  6502. (NMI)126 2874 A
  6503. 3042(on)S
  6504. (some)168 3168 A
  6505. (machines)336 3378 A
  6506. 3756(*/)S
  6507. 5940 V
  6508. (07551)210 648 A
  6509. (printf("got)462 1362 A
  6510. (spurious)336 1866 A
  6511. (NMI\n");)336 2244 A
  6512. 6030 V
  6513. (07552)210 648 A
  6514. (return;)294 1362 A
  6515. 6120 V
  6516. (07553)210 648 A
  6517. 1110(})S
  6518. 6210 V
  6519. (07554)210 648 A
  6520. 8418 V
  6521. EP
  6522. %%Page: 92 92
  6523. BP
  6524. /slant 0 def
  6525. /height 0 def
  6526. 630 V
  6527. 12 B
  6528. 648(92)S
  6529. 11 R
  6530. 1931(File:)S
  6531. 2164(src/kernel/exception.c)S
  6532. 10 R
  6533. 3402(MINIX)S
  6534. 3730(SOURCE)S
  6535. 4153(CODE)S
  6536. 900 V
  6537. 7 LST
  6538. (07555)210 648 A
  6539. 1110(if)S
  6540. ((k_reenter)420 1236 A
  6541. 1698(==)S
  6542. 1824(0)S
  6543. 1908(&&)S
  6544. (isuserp(saved_proc)))840 2034 A
  6545. 2916({)S
  6546. 990 V
  6547. (07556)210 648 A
  6548. (unlock();)378 1362 A
  6549. 2370(/*)S
  6550. (this)168 2496 A
  6551. 2706(is)S
  6552. (protected)378 2832 A
  6553. (like)168 3252 A
  6554. (sys_call())420 3462 A
  6555. 3924(*/)S
  6556. 1080 V
  6557. (07557)210 648 A
  6558. (cause_sig(proc_number(saved_proc),)1428 1362 A
  6559. (ep->signum);)504 2832 A
  6560. 1170 V
  6561. (07558)210 648 A
  6562. (return;)294 1362 A
  6563. 1260 V
  6564. (07559)210 648 A
  6565. 1110(})S
  6566. 1350 V
  6567. (07560)210 648 A
  6568. 1440 V
  6569. (07561)210 648 A
  6570. 1110(/*)S
  6571. (This)168 1236 A
  6572. 1446(is)S
  6573. (not)126 1572 A
  6574. (supposed)336 1740 A
  6575. 2118(to)S
  6576. (happen.)294 2244 A
  6577. 2580(*/)S
  6578. 1530 V
  6579. (07562)210 648 A
  6580. 1110(if)S
  6581. ((ep->msg)336 1236 A
  6582. 1614(==)S
  6583. (NIL_PTR)294 1740 A
  6584. 2076(||)S
  6585. (processor)378 2202 A
  6586. 2622(<)S
  6587. (ep->minprocessor))714 2706 A
  6588. 1620 V
  6589. (07563)210 648 A
  6590. (printf("\nIntel-reserved)1008 1362 A
  6591. (exception)378 2412 A
  6592. (%d\n",)252 2832 A
  6593. (vec_nr);)336 3126 A
  6594. 1710 V
  6595. (07564)210 648 A
  6596. (else)168 1110 A
  6597. 1800 V
  6598. (07565)210 648 A
  6599. (printf("\n%s\n",)672 1362 A
  6600. (ep->msg);)378 2076 A
  6601. 1890 V
  6602. (07566)210 648 A
  6603. (printf("process)630 1110 A
  6604. (number)252 1782 A
  6605. (%d,)126 2076 A
  6606. 2244(pc)S
  6607. 2370(=)S
  6608. (0x%04x:0x%08x\n",)714 2454 A
  6609. 1980 V
  6610. (07567)210 648 A
  6611. (proc_number(saved_proc),)1008 1362 A
  6612. 2070 V
  6613. (07568)210 648 A
  6614. ((unsigned))420 1362 A
  6615. (saved_proc->p_reg.cs,)882 1824 A
  6616. 2160 V
  6617. (07569)210 648 A
  6618. ((unsigned))420 1362 A
  6619. (saved_proc->p_reg.pc);)924 1824 A
  6620. 2250 V
  6621. (07570)210 648 A
  6622. (panic("exception)672 1110 A
  6623. 1824(in)S
  6624. (system)252 1950 A
  6625. (code",)252 2244 A
  6626. (NO_NUM);)336 2538 A
  6627. 2340 V
  6628. (07571)210 648 A
  6629. 1026(})S
  6630. 2790 V
  6631. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  6632. 2880 V
  6633. (src/kernel/i8259.c)756 2034 A
  6634. 2970 V
  6635. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  6636. 3150 V
  6637. (07600)210 648 A
  6638. 1026(/*)S
  6639. (This)168 1152 A
  6640. (file)168 1362 A
  6641. (contains)336 1572 A
  6642. (routines)336 1950 A
  6643. (for)126 2328 A
  6644. (initializing)504 2496 A
  6645. (the)126 3042 A
  6646. (8259)168 3210 A
  6647. (interrupt)378 3420 A
  6648. (controller:)462 3840 A
  6649. 3240 V
  6650. (07601)210 648 A
  6651. 1068(*)S
  6652. (get_irq_handler:)672 1362 A
  6653. (address)294 2076 A
  6654. 2412(of)S
  6655. (handler)294 2538 A
  6656. (for)126 2874 A
  6657. 3042(a)S
  6658. (given)210 3126 A
  6659. (interrupt)378 3378 A
  6660. 3330 V
  6661. (07602)210 648 A
  6662. 1068(*)S
  6663. (put_irq_handler:)672 1362 A
  6664. (register)336 2076 A
  6665. 2454(an)S
  6666. (interrupt)378 2580 A
  6667. (handler)294 3000 A
  6668. 3420 V
  6669. (07603)210 648 A
  6670. 1068(*)S
  6671. (intr_init:)420 1362 A
  6672. (initialize)420 2034 A
  6673. (the)126 2496 A
  6674. (interrupt)378 2664 A
  6675. (controller(s))546 3084 A
  6676. 3510 V
  6677. (07604)210 648 A
  6678. 1068(*/)S
  6679. 3600 V
  6680. (07605)210 648 A
  6681. 3690 V
  6682. (07606)210 648 A
  6683. (#include)336 1026 A
  6684. ("kernel.h")420 1404 A
  6685. 3780 V
  6686. (07607)210 648 A
  6687. 3870 V
  6688. (07608)210 648 A
  6689. (#define)294 1026 A
  6690. (ICW1_AT)294 1362 A
  6691. (0x11)168 2034 A
  6692. 2370(/*)S
  6693. (edge)168 2496 A
  6694. (triggered,)420 2706 A
  6695. (cascade,)336 3168 A
  6696. (need)168 3546 A
  6697. (ICW4)168 3756 A
  6698. 3966(*/)S
  6699. 3960 V
  6700. (07609)210 648 A
  6701. (#define)294 1026 A
  6702. (ICW1_PC)294 1362 A
  6703. (0x13)168 2034 A
  6704. 2370(/*)S
  6705. (edge)168 2496 A
  6706. (triggered,)420 2706 A
  6707. 3168(no)S
  6708. (cascade,)336 3294 A
  6709. (need)168 3672 A
  6710. (ICW4)168 3882 A
  6711. 4092(*/)S
  6712. 4050 V
  6713. (07610)210 648 A
  6714. (#define)294 1026 A
  6715. (ICW1_PS)294 1362 A
  6716. (0x19)168 2034 A
  6717. 2370(/*)S
  6718. (level)210 2496 A
  6719. (triggered,)420 2748 A
  6720. (cascade,)336 3210 A
  6721. (need)168 3588 A
  6722. (ICW4)168 3798 A
  6723. 4008(*/)S
  6724. 4140 V
  6725. (07611)210 648 A
  6726. (#define)294 1026 A
  6727. (ICW4_AT)294 1362 A
  6728. (0x01)168 2034 A
  6729. 2370(/*)S
  6730. (not)126 2496 A
  6731. (SFNM,)210 2664 A
  6732. (not)126 2916 A
  6733. (buffered,)378 3084 A
  6734. (normal)252 3504 A
  6735. (EOI,)168 3798 A
  6736. (8086)168 4008 A
  6737. 4218(*/)S
  6738. 4230 V
  6739. (07612)210 648 A
  6740. (#define)294 1026 A
  6741. (ICW4_PC)294 1362 A
  6742. (0x09)168 2034 A
  6743. 2370(/*)S
  6744. (not)126 2496 A
  6745. (SFNM,)210 2664 A
  6746. (buffered,)378 2916 A
  6747. (normal)252 3336 A
  6748. (EOI,)168 3630 A
  6749. (8086)168 3840 A
  6750. 4050(*/)S
  6751. 4320 V
  6752. (07613)210 648 A
  6753. 4410 V
  6754. (07614)210 648 A
  6755. (FORWARD)294 1026 A
  6756. (_PROTOTYPE()462 1362 A
  6757. (int)126 1866 A
  6758. (spurious_irq,)546 2034 A
  6759. ((int)168 2622 A
  6760. (irq))168 2832 A
  6761. 3042();)S
  6762. 4500 V
  6763. (07615)210 648 A
  6764. 4590 V
  6765. (07616)210 648 A
  6766. (#define)294 1026 A
  6767. (set_vec(nr,)462 1362 A
  6768. (addr))210 1866 A
  6769. (((void)0))378 2370 A
  6770. 2790(/*)S
  6771. (kluge)210 2916 A
  6772. (for)126 3168 A
  6773. (protected)378 3336 A
  6774. (mode)168 3756 A
  6775. 3966(*/)S
  6776. 4680 V
  6777. (07617)210 648 A
  6778. 4770 V
  6779. (07618)210 648 A
  6780. (/*==========================================================================*)3234 1026 A
  6781. 4860 V
  6782. (07619)210 648 A
  6783. 1068(*)S
  6784. (intr_init)378 2370 A
  6785. 4218(*)S
  6786. 4950 V
  6787. (07620)210 648 A
  6788. (*==========================================================================*/)3234 1068 A
  6789. 5040 V
  6790. (07621)210 648 A
  6791. (PUBLIC)252 1026 A
  6792. (void)168 1320 A
  6793. (intr_init(mine))630 1530 A
  6794. 5130 V
  6795. (07622)210 648 A
  6796. (int)126 1026 A
  6797. (mine;)210 1194 A
  6798. 5220 V
  6799. (07623)210 648 A
  6800. 1026({)S
  6801. 5310 V
  6802. (07624)210 648 A
  6803. 1026(/*)S
  6804. (Initialize)420 1152 A
  6805. (the)126 1614 A
  6806. (8259s,)252 1782 A
  6807. (finishing)378 2076 A
  6808. (with)168 2496 A
  6809. (all)126 2706 A
  6810. (interrupts)420 2874 A
  6811. (disabled.)378 3336 A
  6812. (This)168 3798 A
  6813. 4008(is)S
  6814. 5400 V
  6815. (07625)210 648 A
  6816. 1068(*)S
  6817. (only)168 1152 A
  6818. (done)168 1362 A
  6819. 1572(in)S
  6820. (protected)378 1698 A
  6821. (mode,)210 2118 A
  6822. 2370(in)S
  6823. (real)168 2496 A
  6824. (mode)168 2706 A
  6825. 2916(we)S
  6826. (don't)210 3042 A
  6827. (touch)210 3294 A
  6828. (the)126 3546 A
  6829. (8259s,)252 3714 A
  6830. (but)126 4008 A
  6831. 5490 V
  6832. (07626)210 648 A
  6833. 1068(*)S
  6834. (use)126 1152 A
  6835. (the)126 1320 A
  6836. (BIOS)168 1488 A
  6837. (locations)378 1698 A
  6838. (instead.)336 2118 A
  6839. (The)126 2538 A
  6840. (flag)168 2706 A
  6841. ("mine")252 2916 A
  6842. 3210(is)S
  6843. (set)126 3336 A
  6844. 3504(if)S
  6845. (the)126 3630 A
  6846. (8259s)210 3798 A
  6847. (are)126 4050 A
  6848. 5580 V
  6849. (07627)210 648 A
  6850. 1068(*)S
  6851. 1152(to)S
  6852. 1278(be)S
  6853. (programmed)420 1404 A
  6854. (for)126 1866 A
  6855. (Minix,)252 2034 A
  6856. 2328(or)S
  6857. 2454(to)S
  6858. 2580(be)S
  6859. (reset)210 2706 A
  6860. 2958(to)S
  6861. (what)168 3084 A
  6862. (the)126 3294 A
  6863. (BIOS)168 3462 A
  6864. (expects.)336 3672 A
  6865. 5670 V
  6866. (07628)210 648 A
  6867. 1068(*/)S
  6868. 5760 V
  6869. (07629)210 648 A
  6870. 5850 V
  6871. (07630)210 648 A
  6872. (int)126 1110 A
  6873. 1278(i;)S
  6874. 5940 V
  6875. (07631)210 648 A
  6876. 6030 V
  6877. (07632)210 648 A
  6878. (lock();)294 1110 A
  6879. 6120 V
  6880. (07633)210 648 A
  6881. 1110(/*)S
  6882. (The)126 1236 A
  6883. 1404(AT)S
  6884. (and)126 1530 A
  6885. (newer)210 1698 A
  6886. (PS/2)168 1950 A
  6887. (have)168 2160 A
  6888. (two)126 2370 A
  6889. (interrupt)378 2538 A
  6890. (controllers,)504 2958 A
  6891. (one)126 3504 A
  6892. (master,)294 3672 A
  6893. 6210 V
  6894. (07634)210 648 A
  6895. 1152(*)S
  6896. (one)126 1236 A
  6897. (slaved)252 1404 A
  6898. 1698(at)S
  6899. (IRQ)126 1824 A
  6900. 1992(2.)S
  6901. ((We)126 2160 A
  6902. (don't)210 2328 A
  6903. (have)168 2580 A
  6904. 2790(to)S
  6905. (deal)168 2916 A
  6906. (with)168 3126 A
  6907. (the)126 3336 A
  6908. 3504(PC)S
  6909. (that)168 3630 A
  6910. 8418 V
  6911. EP
  6912. %%Page: 93 93
  6913. BP
  6914. /slant 0 def
  6915. /height 0 def
  6916. 630 V
  6917. 10 R
  6918. 648(MINIX)S
  6919. 976(SOURCE)S
  6920. 1399(CODE)S
  6921. 11 R
  6922. 2022(File:)S
  6923. (src/kernel/i8259.c)799 2255 A
  6924. 12 B
  6925. 4308(93)S
  6926. 900 V
  6927. 7 LST
  6928. (07635)210 648 A
  6929. 1152(*)S
  6930. (has)126 1236 A
  6931. (just)168 1404 A
  6932. (one)126 1614 A
  6933. (controller,)462 1782 A
  6934. (because)294 2286 A
  6935. 2622(it)S
  6936. (must)168 2748 A
  6937. (run)126 2958 A
  6938. 3126(in)S
  6939. (real)168 3252 A
  6940. (mode.))252 3462 A
  6941. 990 V
  6942. (07636)210 648 A
  6943. 1152(*/)S
  6944. 1080 V
  6945. (07637)210 648 A
  6946. (out_byte(INT_CTL,)714 1110 A
  6947. (ps_mca)252 1866 A
  6948. 2160(?)S
  6949. (ICW1_PS)294 2244 A
  6950. 2580(:)S
  6951. (ICW1_AT);)378 2664 A
  6952. 1170 V
  6953. (07638)210 648 A
  6954. (out_byte(INT_CTLMASK,)882 1110 A
  6955. (mine)168 2034 A
  6956. 2244(?)S
  6957. (IRQ0_VECTOR)462 2328 A
  6958. 2832(:)S
  6959. (BIOS_IRQ0_VEC);)630 2916 A
  6960. 1260 V
  6961. (07639)210 648 A
  6962. 3042(/*)S
  6963. (ICW2)168 3168 A
  6964. (for)126 3378 A
  6965. (master)252 3546 A
  6966. 3840(*/)S
  6967. 1350 V
  6968. (07640)210 648 A
  6969. (out_byte(INT_CTLMASK,)882 1110 A
  6970. 2034((1)S
  6971. 2160(<<)S
  6972. (CASCADE_IRQ));)588 2286 A
  6973. 3042(/*)S
  6974. (ICW3)168 3168 A
  6975. (tells)210 3378 A
  6976. (slaves)252 3630 A
  6977. 3924(*/)S
  6978. 1440 V
  6979. (07641)210 648 A
  6980. (out_byte(INT_CTLMASK,)882 1110 A
  6981. (ICW4_AT);)378 2034 A
  6982. 1530 V
  6983. (07642)210 648 A
  6984. (out_byte(INT_CTLMASK,)882 1110 A
  6985. (304(1)126 2034 A
  6986. 2202(<<)S
  6987. (CASCADE_IRQ));)588 2328 A
  6988. 3042(/*)S
  6989. (IRQ)126 3168 A
  6990. (0-7)126 3336 A
  6991. (mask)168 3504 A
  6992. 3714(*/)S
  6993. 1620 V
  6994. (07643)210 648 A
  6995. (out_byte(INT2_CTL,)756 1110 A
  6996. (ps_mca)252 1908 A
  6997. 2202(?)S
  6998. (ICW1_PS)294 2286 A
  6999. 2622(:)S
  7000. (ICW1_AT);)378 2706 A
  7001. 1710 V
  7002. (07644)210 648 A
  7003. (out_byte(INT2_CTLMASK,)924 1110 A
  7004. (mine)168 2076 A
  7005. 2286(?)S
  7006. (IRQ8_VECTOR)462 2370 A
  7007. 2874(:)S
  7008. (BIOS_IRQ8_VEC);)630 2958 A
  7009. 1800 V
  7010. (07645)210 648 A
  7011. 3042(/*)S
  7012. (ICW2)168 3168 A
  7013. (for)126 3378 A
  7014. (slave)210 3546 A
  7015. 3798(*/)S
  7016. 1890 V
  7017. (07646)210 648 A
  7018. (out_byte(INT2_CTLMASK,)924 1110 A
  7019. (CASCADE_IRQ);)546 2076 A
  7020. 3042(/*)S
  7021. (ICW3)168 3168 A
  7022. 3378(is)S
  7023. (slave)210 3504 A
  7024. 3756(nr)S
  7025. 3882(*/)S
  7026. 1980 V
  7027. (07647)210 648 A
  7028. (out_byte(INT2_CTLMASK,)924 1110 A
  7029. (ICW4_AT);)378 2076 A
  7030. 2070 V
  7031. (07648)210 648 A
  7032. (out_byte(INT2_CTLMASK,)924 1110 A
  7033. (3040);)168 2076 A
  7034. 3042(/*)S
  7035. (IRQ)126 3168 A
  7036. (8-15)168 3336 A
  7037. (mask)168 3546 A
  7038. 3756(*/)S
  7039. 2160 V
  7040. (07649)210 648 A
  7041. 2250 V
  7042. (07650)210 648 A
  7043. 1110(/*)S
  7044. (Initialize)420 1236 A
  7045. (the)126 1698 A
  7046. (table)210 1866 A
  7047. 2118(of)S
  7048. (interrupt)378 2244 A
  7049. (handlers.)378 2664 A
  7050. 3084(*/)S
  7051. 2340 V
  7052. (07651)210 648 A
  7053. (for)126 1110 A
  7054. 1278((i)S
  7055. 1404(=)S
  7056. 1488(0;)S
  7057. 1614(i)S
  7058. 1698(<)S
  7059. (NR_IRQ_VECTORS;)630 1782 A
  7060. (i++))168 2454 A
  7061. (irq_table[i])504 2664 A
  7062. 3210(=)S
  7063. (spurious_irq;)546 3294 A
  7064. 2430 V
  7065. (07652)210 648 A
  7066. 1026(})S
  7067. 2610 V
  7068. (07654)210 648 A
  7069. (/*=========================================================================*)3192 1026 A
  7070. 2700 V
  7071. (07655)210 648 A
  7072. 1068(*)S
  7073. (spurious_irq)504 2370 A
  7074. 4176(*)S
  7075. 2790 V
  7076. (07656)210 648 A
  7077. (*=========================================================================*/)3192 1068 A
  7078. 2880 V
  7079. (07657)210 648 A
  7080. (PRIVATE)294 1026 A
  7081. (int)126 1362 A
  7082. (spurious_irq(irq))714 1530 A
  7083. 2970 V
  7084. (07658)210 648 A
  7085. (int)126 1026 A
  7086. (irq;)168 1194 A
  7087. 3060 V
  7088. (07659)210 648 A
  7089. 1026({)S
  7090. 3150 V
  7091. (07660)210 648 A
  7092. 1026(/*)S
  7093. (Default)294 1152 A
  7094. (interrupt)378 1488 A
  7095. (handler.)336 1908 A
  7096. 2328(It)S
  7097. (complains)378 2454 A
  7098. 2874(a)S
  7099. (lot.)168 2958 A
  7100. 3168(*/)S
  7101. 3240 V
  7102. (07661)210 648 A
  7103. 3330 V
  7104. (07662)210 648 A
  7105. 1110(if)S
  7106. ((irq)168 1236 A
  7107. 1446(<)S
  7108. 1530(0)S
  7109. 1614(||)S
  7110. (irq)126 1740 A
  7111. 1908(>=)S
  7112. (NR_IRQ_VECTORS))630 2034 A
  7113. 3420 V
  7114. (07663)210 648 A
  7115. (panic("invalid)588 1362 A
  7116. (call)168 1992 A
  7117. 2202(to)S
  7118. (spurious_irq",)588 2328 A
  7119. (irq);)210 2958 A
  7120. 3510 V
  7121. (07664)210 648 A
  7122. 3600 V
  7123. (07665)210 648 A
  7124. (printf("spurious)672 1110 A
  7125. (irq)126 1824 A
  7126. (%d\n",)252 1992 A
  7127. (irq);)210 2286 A
  7128. 3690 V
  7129. (07666)210 648 A
  7130. 3780 V
  7131. (07667)210 648 A
  7132. (return)252 1110 A
  7133. 1404(1;)S
  7134. 1698(/*)S
  7135. (Reenable)336 1824 A
  7136. (interrupt)378 2202 A
  7137. 2622(*/)S
  7138. 3870 V
  7139. (07668)210 648 A
  7140. 1026(})S
  7141. 4050 V
  7142. (07670)210 648 A
  7143. (/*=========================================================================*)3192 1026 A
  7144. 4140 V
  7145. (07671)210 648 A
  7146. 1068(*)S
  7147. (put_irq_handler)630 2370 A
  7148. 4176(*)S
  7149. 4230 V
  7150. (07672)210 648 A
  7151. (*=========================================================================*/)3192 1068 A
  7152. 4320 V
  7153. (07673)210 648 A
  7154. (PUBLIC)252 1026 A
  7155. (void)168 1320 A
  7156. (put_irq_handler(irq,)840 1530 A
  7157. (handler))336 2412 A
  7158. 4410 V
  7159. (07674)210 648 A
  7160. (int)126 1026 A
  7161. (irq;)168 1194 A
  7162. 4500 V
  7163. (07675)210 648 A
  7164. (irq_handler_t)546 1026 A
  7165. (handler;)336 1614 A
  7166. 4590 V
  7167. (07676)210 648 A
  7168. 1026({)S
  7169. 4680 V
  7170. (07677)210 648 A
  7171. 1026(/*)S
  7172. (Register)336 1152 A
  7173. 1530(an)S
  7174. (interrupt)378 1656 A
  7175. (handler.)336 2076 A
  7176. 2454(*/)S
  7177. 4770 V
  7178. (07678)210 648 A
  7179. 4860 V
  7180. (07679)210 648 A
  7181. 1110(if)S
  7182. ((irq)168 1236 A
  7183. 1446(<)S
  7184. 1530(0)S
  7185. 1614(||)S
  7186. (irq)126 1740 A
  7187. 1908(>=)S
  7188. (NR_IRQ_VECTORS))630 2034 A
  7189. 4950 V
  7190. (07680)210 648 A
  7191. (panic("invalid)588 1362 A
  7192. (call)168 1992 A
  7193. 2202(to)S
  7194. (put_irq_handler",)714 2328 A
  7195. (irq);)210 3084 A
  7196. 5040 V
  7197. (07681)210 648 A
  7198. 5130 V
  7199. (07682)210 648 A
  7200. 1110(if)S
  7201. ((irq_table[irq])630 1236 A
  7202. 1908(==)S
  7203. (handler))336 2034 A
  7204. 5220 V
  7205. (07683)210 648 A
  7206. (return;)294 1362 A
  7207. 2034(/*)S
  7208. (extra)210 2160 A
  7209. (initialization)588 2412 A
  7210. 3042(*/)S
  7211. 5310 V
  7212. (07684)210 648 A
  7213. 5400 V
  7214. (07685)210 648 A
  7215. 1110(if)S
  7216. ((irq_table[irq])630 1236 A
  7217. 1908(!=)S
  7218. (spurious_irq))546 2034 A
  7219. 5490 V
  7220. (07686)210 648 A
  7221. (panic("attempt)588 1362 A
  7222. 1992(to)S
  7223. (register)336 2118 A
  7224. (second)252 2496 A
  7225. (irq)126 2790 A
  7226. (handler)294 2958 A
  7227. (for)126 3294 A
  7228. (irq",)210 3462 A
  7229. (irq);)210 3714 A
  7230. 5580 V
  7231. (07687)210 648 A
  7232. 5670 V
  7233. (07688)210 648 A
  7234. (disable_irq(irq);)714 1110 A
  7235. 5760 V
  7236. (07689)210 648 A
  7237. 1110(if)S
  7238. ((!protected_mode))714 1236 A
  7239. (set_vec(BIOS_VECTOR(irq),)1050 1992 A
  7240. (irq_vec[irq]);)588 3084 A
  7241. 5850 V
  7242. (07690)210 648 A
  7243. (irq_table[irq]=)630 1110 A
  7244. (handler;)336 1782 A
  7245. 5940 V
  7246. (07691)210 648 A
  7247. (irq_use)294 1110 A
  7248. 1446(|=)S
  7249. 1572(1)S
  7250. 1656(<<)S
  7251. (irq;)168 1782 A
  7252. 6030 V
  7253. (07692)210 648 A
  7254. 1026(})S
  7255. 8418 V
  7256. EP
  7257. %%Page: 94 94
  7258. BP
  7259. /slant 0 def
  7260. /height 0 def
  7261. 630 V
  7262. 12 B
  7263. 648(94)S
  7264. 11 R
  7265. 1993(File:)S
  7266. 2226(src/kernel/protect.c)S
  7267. 10 R
  7268. 3402(MINIX)S
  7269. 3730(SOURCE)S
  7270. 4153(CODE)S
  7271. 990 V
  7272. 7 LST
  7273. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  7274. 1080 V
  7275. (src/kernel/protect.c)840 2034 A
  7276. 1170 V
  7277. (++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++)3528 648 A
  7278. 1350 V
  7279. (07700)210 648 A
  7280. 1026(/*)S
  7281. (This)168 1152 A
  7282. (file)168 1362 A
  7283. (contains)336 1572 A
  7284. (code)168 1950 A
  7285. (for)126 2160 A
  7286. (initialization)588 2328 A
  7287. 2958(of)S
  7288. (protected)378 3084 A
  7289. (mode,)210 3504 A
  7290. 3756(to)S
  7291. (initialize)420 3882 A
  7292. 1440 V
  7293. (07701)210 648 A
  7294. 1068(*)S
  7295. (code)168 1152 A
  7296. (and)126 1362 A
  7297. (data)168 1530 A
  7298. (segment)294 1740 A
  7299. (descriptors,)504 2076 A
  7300. (and)126 2622 A
  7301. 2790(to)S
  7302. (initialize)420 2916 A
  7303. (global)252 3378 A
  7304. (descriptors)462 3672 A
  7305. 1530 V
  7306. (07702)210 648 A
  7307. 1068(*)S
  7308. (for)126 1152 A
  7309. (local)210 1320 A
  7310. (descriptors)462 1572 A
  7311. 2076(in)S
  7312. (the)126 2202 A
  7313. (process)294 2370 A
  7314. (table.)252 2706 A
  7315. 1620 V
  7316. (07703)210 648 A
  7317. 1068(*/)S
  7318. 1710 V
  7319. (07704)210 648 A
  7320. 1800 V
  7321. (07705)210 648 A
  7322. (#include)336 1026 A
  7323. ("kernel.h")420 1404 A
  7324. 1890 V
  7325. (07706)210 648 A
  7326. (#include)336 1026 A
  7327. ("proc.h")336 1404 A
  7328. 1980 V
  7329. (07707)210 648 A
  7330. (#include)336 1026 A
  7331. ("protect.h")462 1404 A
  7332. 2070 V
  7333. (07708)210 648 A
  7334. 2160 V
  7335. (07709)210 648 A
  7336. (#define)294 1026 A
  7337. (INT_GATE_TYPE)546 1362 A
  7338. ((INT_286_GATE)546 2034 A
  7339. 2622(|)S
  7340. (DESC_386_BIT))546 2706 A
  7341. 2250 V
  7342. (07710)210 648 A
  7343. (#define)294 1026 A
  7344. (TSS_TYPE)336 1362 A
  7345. ((AVL_286_TSS)504 2034 A
  7346. 2622(|)S
  7347. (DESC_386_BIT))546 2706 A
  7348. 2340 V
  7349. (07711)210 648 A
  7350. 2430 V
  7351. (07712)210 648 A
  7352. (struct)252 1026 A
  7353. (desctableptr_s)588 1320 A
  7354. 1950({)S
  7355. 2520 V
  7356. (07713)210 648 A
  7357. (char)168 1110 A
  7358. (limit[sizeof(u16_t)];)882 1320 A
  7359. 2610 V
  7360. (07714)210 648 A
  7361. (char)168 1110 A
  7362. (base[sizeof(u32_t)];)840 1320 A
  7363. 2706(/*)S
  7364. (really)252 2832 A
  7365. (u24_t)210 3126 A
  7366. 3378(+)S
  7367. (pad)126 3462 A
  7368. (for)126 3630 A
  7369. (286)126 3798 A
  7370. 3966(*/)S
  7371. 2700 V
  7372. (07715)210 648 A
  7373. 1026(};)S
  7374. 2790 V
  7375. (07716)210 648 A
  7376. 2880 V
  7377. (07717)210 648 A
  7378. (struct)252 1026 A
  7379. (gatedesc_s)420 1320 A
  7380. 1782({)S
  7381. 2970 V
  7382. (07718)210 648 A
  7383. (u16_t)210 1110 A
  7384. (offset_low;)462 1362 A
  7385. 3060 V
  7386. (07719)210 648 A
  7387. (u16_t)210 1110 A
  7388. (selector;)378 1362 A
  7389. 3150 V
  7390. (07720)210 648 A
  7391. (u8_t)168 1110 A
  7392. (pad;)168 1320 A
  7393. 2370(/*)S
  7394. (|000|XXXXX|)462 2496 A
  7395. 3000(ig)S
  7396. 3126(&)S
  7397. (trpg,)210 3210 A
  7398. (|XXXXXXXX|)420 3462 A
  7399. (task)168 3924 A
  7400. 4134(g)S
  7401. 4218(*/)S
  7402. 3240 V
  7403. (07721)210 648 A
  7404. (u8_t)168 1110 A
  7405. (p_dpl_type;)462 1320 A
  7406. 2370(/*)S
  7407. (|P|DL|0|TYPE|)546 2496 A
  7408. 3084(*/)S
  7409. 3330 V
  7410. (07722)210 648 A
  7411. (u16_t)210 1110 A
  7412. (offset_high;)504 1362 A
  7413. 3420 V
  7414. (07723)210 648 A
  7415. 1026(};)S
  7416. 3510 V
  7417. (07724)210 648 A
  7418. 3600 V
  7419. (07725)210 648 A
  7420. (struct)252 1026 A
  7421. (tss_s)210 1320 A
  7422. 1572({)S
  7423. 3690 V
  7424. (07726)210 648 A
  7425. (reg_t)210 1110 A
  7426. (backlink;)378 1362 A
  7427. 3780 V
  7428. (07727)210 648 A
  7429. (reg_t)210 1110 A
  7430. (sp0;)168 1362 A
  7431. 2370(/*)S
  7432. (stack)210 2496 A
  7433. (pointer)294 2748 A
  7434. 3084(to)S
  7435. (use)126 3210 A
  7436. (during)252 3378 A
  7437. (interrupt)378 3672 A
  7438. 4092(*/)S
  7439. 3870 V
  7440. (07728)210 648 A
  7441. (reg_t)210 1110 A
  7442. (ss0;)168 1362 A
  7443. 2370(/*)S
  7444. 2580(")S
  7445. (segment)294 2748 A
  7446. 3126(")S
  7447. 3252(")S
  7448. 3462(")S
  7449. 3840(")S
  7450. 4092(*/)S
  7451. 3960 V
  7452. (07729)210 648 A
  7453. (reg_t)210 1110 A
  7454. (sp1;)168 1362 A
  7455. 4050 V
  7456. (07730)210 648 A
  7457. (reg_t)210 1110 A
  7458. (ss1;)168 1362 A
  7459. 4140 V
  7460. (07731)210 648 A
  7461. (reg_t)210 1110 A
  7462. (sp2;)168 1362 A
  7463. 4230 V
  7464. (07732)210 648 A
  7465. (reg_t)210 1110 A
  7466. (ss2;)168 1362 A
  7467. 4320 V
  7468. (07733)210 648 A
  7469. (reg_t)210 1110 A
  7470. (cr3;)168 1362 A
  7471. 4410 V
  7472. (07734)210 648 A
  7473. (reg_t)210 1110 A
  7474. (ip;)126 1362 A
  7475. 4500 V
  7476. (07735)210 648 A
  7477. (reg_t)210 1110 A
  7478. (flags;)252 1362 A
  7479. 4590 V
  7480. (07736)210 648 A
  7481. (reg_t)210 1110 A
  7482. (ax;)126 1362 A
  7483. 4680 V
  7484. (07737)210 648 A
  7485. (reg_t)210 1110 A
  7486. (cx;)126 1362 A
  7487. 4770 V
  7488. (07738)210 648 A
  7489. (reg_t)210 1110 A
  7490. (dx;)126 1362 A
  7491. 4860 V
  7492. (07739)210 648 A
  7493. (reg_t)210 1110 A
  7494. (bx;)126 1362 A
  7495. 4950 V
  7496. (07740)210 648 A
  7497. (reg_t)210 1110 A
  7498. (sp;)126 1362 A
  7499. 5040 V
  7500. (07741)210 648 A
  7501. (reg_t)210 1110 A
  7502. (bp;)126 1362 A
  7503. 5130 V
  7504. (07742)210 648 A
  7505. (reg_t)210 1110 A
  7506. (si;)126 1362 A
  7507. 5220 V
  7508. (07743)210 648 A
  7509. (reg_t)210 1110 A
  7510. (di;)126 1362 A
  7511. 5310 V
  7512. (07744)210 648 A
  7513. (reg_t)210 1110 A
  7514. (es;)126 1362 A
  7515. 5400 V
  7516. (07745)210 648 A
  7517. (reg_t)210 1110 A
  7518. (cs;)126 1362 A
  7519. 5490 V
  7520. (07746)210 648 A
  7521. (reg_t)210 1110 A
  7522. (ss;)126 1362 A
  7523. 5580 V
  7524. (07747)210 648 A
  7525. (reg_t)210 1110 A
  7526. (ds;)126 1362 A
  7527. 5670 V
  7528. (07748)210 648 A
  7529. (reg_t)210 1110 A
  7530. (fs;)126 1362 A
  7531. 5760 V
  7532. (07749)210 648 A
  7533. (reg_t)210 1110 A
  7534. (gs;)126 1362 A
  7535. 5850 V
  7536. (07750)210 648 A
  7537. (reg_t)210 1110 A
  7538. (ldt;)168 1362 A
  7539. 5940 V
  7540. (07751)210 648 A
  7541. (u16_t)210 1110 A
  7542. (trap;)210 1362 A
  7543. 6030 V
  7544. (07752)210 648 A
  7545. (u16_t)210 1110 A
  7546. (iobase;)294 1362 A
  7547. 6120 V
  7548. (07753)210 648 A
  7549. 1026(};)S
  7550. 6210 V
  7551. (07754)210 648 A
  7552. 8418 V
  7553. EP
  7554. %%Page: 95 95
  7555. BP
  7556. /slant 0 def
  7557. /height 0 def
  7558. 630 V
  7559. 10 R
  7560. 648(MINIX)S
  7561. 976(SOURCE)S
  7562. 1399(CODE)S
  7563. 11 R
  7564. 1993(File:)S
  7565. 2226(src/kernel/protect.c)S
  7566. 12 B
  7567. 4308(95)S
  7568. 900 V
  7569. 7 LST
  7570. (07755)210 648 A
  7571. (PUBLIC)252 1026 A
  7572. (struct)252 1320 A
  7573. (segdesc_s)378 1614 A
  7574. (gdt[GDT_SIZE];)588 2034 A
  7575. 990 V
  7576. (07756)210 648 A
  7577. (PRIVATE)294 1026 A
  7578. (struct)252 1362 A
  7579. (gatedesc_s)420 1656 A
  7580. (idt[IDT_SIZE];)588 2118 A
  7581. 3042(/*)S
  7582. (zero-init)378 3168 A
  7583. 3588(so)S
  7584. (none)168 3714 A
  7585. (present)294 3924 A
  7586. 4260(*/)S
  7587. 1080 V
  7588. (07757)210 648 A
  7589. (PUBLIC)252 1026 A
  7590. (struct)252 1320 A
  7591. (tss_s)210 1614 A
  7592. (tss;)168 1866 A
  7593. 2370(/*)S
  7594. (zero)168 2496 A
  7595. (init)168 2706 A
  7596. 2916(*/)S
  7597. 1170 V
  7598. (07758)210 648 A
  7599. 1260 V
  7600. (07759)210 648 A
  7601. (FORWARD)294 1026 A
  7602. (_PROTOTYPE()462 1362 A
  7603. (void)168 1866 A
  7604. (int_gate,)378 2076 A
  7605. ((unsigned)378 2496 A
  7606. (vec_nr,)294 2916 A
  7607. (phys_bytes)420 3252 A
  7608. (base,)210 3714 A
  7609. 1350 V
  7610. (07760)210 648 A
  7611. (unsigned)336 1698 A
  7612. (dpl_type))378 2076 A
  7613. 2496();)S
  7614. 1440 V
  7615. (07761)210 648 A
  7616. (FORWARD)294 1026 A
  7617. (_PROTOTYPE()462 1362 A
  7618. (void)168 1866 A
  7619. (sdesc,)252 2076 A
  7620. ((struct)294 2370 A
  7621. (segdesc_s)378 2706 A
  7622. (*segdp,)294 3126 A
  7623. (phys_bytes)420 3462 A
  7624. (base,)210 3924 A
  7625. 1530 V
  7626. (07762)210 648 A
  7627. (phys_bytes)420 1698 A
  7628. (size))210 2160 A
  7629. 2412();)S
  7630. 1620 V
  7631. (07763)210 648 A
  7632. 1710 V
  7633. (07764)210 648 A
  7634. (/*=========================================================================*)3192 1026 A
  7635. 1800 V
  7636. (07765)210 648 A
  7637. 1068(*)S
  7638. (prot_init)378 2370 A
  7639. 4176(*)S
  7640. 1890 V
  7641. (07766)210 648 A
  7642. (*=========================================================================*/)3192 1068 A
  7643. 1980 V
  7644. (07767)210 648 A
  7645. (PUBLIC)252 1026 A
  7646. (void)168 1320 A
  7647. (prot_init())462 1530 A
  7648. 2070 V
  7649. (07768)210 648 A
  7650. 1026({)S
  7651. 2160 V
  7652. (07769)210 648 A
  7653. 1026(/*)S
  7654. (Set)126 1152 A
  7655. 1320(up)S
  7656. (tables)252 1446 A
  7657. (for)126 1740 A
  7658. (protected)378 1908 A
  7659. (mode.)210 2328 A
  7660. 2250 V
  7661. (07770)210 648 A
  7662. 1068(*)S
  7663. (All)126 1152 A
  7664. (GDT)126 1320 A
  7665. (slots)210 1488 A
  7666. (are)126 1740 A
  7667. (allocated)378 1908 A
  7668. 2328(at)S
  7669. (compile)294 2454 A
  7670. (time.)210 2790 A
  7671. 2340 V
  7672. (07771)210 648 A
  7673. 1068(*/)S
  7674. 2430 V
  7675. (07772)210 648 A
  7676. 2520 V
  7677. (07773)210 648 A
  7678. (phys_bytes)420 1110 A
  7679. (code_bytes;)462 1572 A
  7680. 2610 V
  7681. (07774)210 648 A
  7682. (phys_bytes)420 1110 A
  7683. (data_bytes;)462 1572 A
  7684. 2700 V
  7685. (07775)210 648 A
  7686. (struct)252 1110 A
  7687. (gate_table_s)504 1404 A
  7688. (*gtp;)210 1950 A
  7689. 2790 V
  7690. (07776)210 648 A
  7691. (struct)252 1110 A
  7692. (desctableptr_s)588 1404 A
  7693. (*dtp;)210 2034 A
  7694. 2880 V
  7695. (07777)210 648 A
  7696. (unsigned)336 1110 A
  7697. (ldt_selector;)546 1488 A
  7698. 2970 V
  7699. (07778)210 648 A
  7700. (register)336 1110 A
  7701. (struct)252 1488 A
  7702. (proc)168 1782 A
  7703. (*rp;)168 1992 A
  7704. 3060 V
  7705. (07779)210 648 A
  7706. 3150 V
  7707. (07780)210 648 A
  7708. (static)252 1110 A
  7709. (struct)252 1404 A
  7710. (gate_table_s)504 1698 A
  7711. 2244({)S
  7712. 3240 V
  7713. (07781)210 648 A
  7714. (_PROTOTYPE()462 1362 A
  7715. (void)168 1866 A
  7716. ((*gate),)336 2076 A
  7717. ((void))252 2454 A
  7718. 2748();)S
  7719. 3330 V
  7720. (07782)210 648 A
  7721. (unsigned)336 1362 A
  7722. (char)168 1740 A
  7723. (vec_nr;)294 1950 A
  7724. 3420 V
  7725. (07783)210 648 A
  7726. (unsigned)336 1362 A
  7727. (char)168 1740 A
  7728. (privilege;)420 1950 A
  7729. 3510 V
  7730. (07784)210 648 A
  7731. 1110(})S
  7732. 3600 V
  7733. (07785)210 648 A
  7734. (gate_table[])504 1110 A
  7735. 1656(=)S
  7736. 1740({)S
  7737. 3690 V
  7738. (07786)210 648 A
  7739. (divide_error,)546 1362 A
  7740. (DIVIDE_VECTOR,)588 1950 A
  7741. (INTR_PRIVILEGE,)630 2580 A
  7742. 3780 V
  7743. (07787)210 648 A
  7744. (single_step_exception,)924 1362 A
  7745. (DEBUG_VECTOR,)546 2328 A
  7746. (INTR_PRIVILEGE,)630 2916 A
  7747. 3870 V
  7748. (07788)210 648 A
  7749. (nmi,)168 1362 A
  7750. (NMI_VECTOR,)462 1572 A
  7751. (INTR_PRIVILEGE,)630 2076 A
  7752. 3960 V
  7753. (07789)210 648 A
  7754. (breakpoint_exception,)882 1362 A
  7755. (BREAKPOINT_VECTOR,)756 2286 A
  7756. (USER_PRIVILEGE,)630 3084 A
  7757. 4050 V
  7758. (07790)210 648 A
  7759. (overflow,)378 1362 A
  7760. (OVERFLOW_VECTOR,)672 1782 A
  7761. (USER_PRIVILEGE,)630 2496 A
  7762. 4140 V
  7763. (07791)210 648 A
  7764. (bounds_check,)546 1362 A
  7765. (BOUNDS_VECTOR,)588 1950 A
  7766. (INTR_PRIVILEGE,)630 2580 A
  7767. 4230 V
  7768. (07792)210 648 A
  7769. (inval_opcode,)546 1362 A
  7770. (INVAL_OP_VECTOR,)672 1950 A
  7771. (INTR_PRIVILEGE,)630 2664 A
  7772. 4320 V
  7773. (07793)210 648 A
  7774. (copr_not_available,)798 1362 A
  7775. (COPROC_NOT_VECTOR,)756 2202 A
  7776. (INTR_PRIVILEGE,)630 3000 A
  7777. 4410 V
  7778. (07794)210 648 A
  7779. (double_fault,)546 1362 A
  7780. (DOUBLE_FAULT_VECTOR,)840 1950 A
  7781. (INTR_PRIVILEGE,)630 2832 A
  7782. 4500 V
  7783. (07795)210 648 A
  7784. (copr_seg_overrun,)714 1362 A
  7785. (COPROC_SEG_VECTOR,)756 2118 A
  7786. (INTR_PRIVILEGE,)630 2916 A
  7787. 4590 V
  7788. (07796)210 648 A
  7789. (inval_tss,)420 1362 A
  7790. (INVAL_TSS_VECTOR,)714 1824 A
  7791. (INTR_PRIVILEGE,)630 2580 A
  7792. 4680 V
  7793. (07797)210 648 A
  7794. (segment_not_present,)840 1362 A
  7795. (SEG_NOT_VECTOR,)630 2244 A
  7796. (INTR_PRIVILEGE,)630 2916 A
  7797. 4770 V
  7798. (07798)210 648 A
  7799. (stack_exception,)672 1362 A
  7800. (STACK_FAULT_VECTOR,)798 2076 A
  7801. (INTR_PRIVILEGE,)630 2916 A
  7802. 4860 V
  7803. (07799)210 648 A
  7804. (general_protection,)798 1362 A
  7805. (PROTECTION_VECTOR,)756 2202 A
  7806. (INTR_PRIVILEGE,)630 3000 A
  7807. 4950 V
  7808. (07800)210 648 A
  7809. (page_fault,)462 1362 A
  7810. (PAGE_FAULT_VECTOR,)756 1866 A
  7811. (INTR_PRIVILEGE,)630 2664 A
  7812. 5040 V
  7813. (07801)210 648 A
  7814. (copr_error,)462 1362 A
  7815. (COPROC_ERR_VECTOR,)756 1866 A
  7816. (INTR_PRIVILEGE,)630 2664 A
  7817. 5130 V
  7818. (07802)210 648 A
  7819. 1362({)S
  7820. (hwint00,)336 1446 A
  7821. (VECTOR()294 1824 A
  7822. (0),)126 2160 A
  7823. (INTR_PRIVILEGE)588 2328 A
  7824. 2958(},)S
  7825. 5220 V
  7826. (07803)210 648 A
  7827. 1362({)S
  7828. (hwint01,)336 1446 A
  7829. (VECTOR()294 1824 A
  7830. (1),)126 2160 A
  7831. (INTR_PRIVILEGE)588 2328 A
  7832. 2958(},)S
  7833. 5310 V
  7834. (07804)210 648 A
  7835. 1362({)S
  7836. (hwint02,)336 1446 A
  7837. (VECTOR()294 1824 A
  7838. (2),)126 2160 A
  7839. (INTR_PRIVILEGE)588 2328 A
  7840. 2958(},)S
  7841. 5400 V
  7842. (07805)210 648 A
  7843. 1362({)S
  7844. (hwint03,)336 1446 A
  7845. (VECTOR()294 1824 A
  7846. (3),)126 2160 A
  7847. (INTR_PRIVILEGE)588 2328 A
  7848. 2958(},)S
  7849. 5490 V
  7850. (07806)210 648 A
  7851. 1362({)S
  7852. (hwint04,)336 1446 A
  7853. (VECTOR()294 1824 A
  7854. (4),)126 2160 A
  7855. (INTR_PRIVILEGE)588 2328 A
  7856. 2958(},)S
  7857. 5580 V
  7858. (07807)210 648 A
  7859. 1362({)S
  7860. (hwint05,)336 1446 A
  7861. (VECTOR()294 1824 A
  7862. (5),)126 2160 A
  7863. (INTR_PRIVILEGE)588 2328 A
  7864. 2958(},)S
  7865. 5670 V
  7866. (07808)210 648 A
  7867. 1362({)S
  7868. (hwint06,)336 1446 A
  7869. (VECTOR()294 1824 A
  7870. (6),)126 2160 A
  7871. (INTR_PRIVILEGE)588 2328 A
  7872. 2958(},)S
  7873. 5760 V
  7874. (07809)210 648 A
  7875. 1362({)S
  7876. (hwint07,)336 1446 A
  7877. (VECTOR()294 1824 A
  7878. (7),)126 2160 A
  7879. (INTR_PRIVILEGE)588 2328 A
  7880. 2958(},)S
  7881. 5850 V
  7882. (07810)210 648 A
  7883. 1362({)S
  7884. (hwint08,)336 1446 A
  7885. (VECTOR()294 1824 A
  7886. (8),)126 2160 A
  7887. (INTR_PRIVILEGE)588 2328 A
  7888. 2958(},)S
  7889. 5940 V
  7890. (07811)210 648 A
  7891. 1362({)S
  7892. (hwint09,)336 1446 A
  7893. (VECTOR()294 1824 A
  7894. (9),)126 2160 A
  7895. (INTR_PRIVILEGE)588 2328 A
  7896. 2958(},)S
  7897. 6030 V
  7898. (07812)210 648 A
  7899. 1362({)S
  7900. (hwint10,)336 1446 A
  7901. (VECTOR(10),)462 1824 A
  7902. (INTR_PRIVILEGE)588 2328 A
  7903. 2958(},)S
  7904. 6120 V
  7905. (07813)210 648 A
  7906. 1362({)S
  7907. (hwint11,)336 1446 A
  7908. (VECTOR(11),)462 1824 A
  7909. (INTR_PRIVILEGE)588 2328 A
  7910. 2958(},)S
  7911. 6210 V
  7912. (07814)210 648 A
  7913. 1362({)S
  7914. (hwint12,)336 1446 A
  7915. (VECTOR(12),)462 1824 A
  7916. (INTR_PRIVILEGE)588 2328 A
  7917. 2958(},)S
  7918. 8418 V
  7919. EP
  7920. %%Page: 96 96
  7921. BP
  7922. /slant 0 def
  7923. /height 0 def
  7924. 630 V
  7925. 12 B
  7926. 648(96)S
  7927. 11 R
  7928. 1993(File:)S
  7929. 2226(src/kernel/protect.c)S
  7930. 10 R
  7931. 3402(MINIX)S
  7932. 3730(SOURCE)S
  7933. 4153(CODE)S
  7934. 900 V
  7935. 7 LST
  7936. (07815)210 648 A
  7937. 1362({)S
  7938. (hwint13,)336 1446 A
  7939. (VECTOR(13),)462 1824 A
  7940. (INTR_PRIVILEGE)588 2328 A
  7941. 2958(},)S
  7942. 990 V
  7943. (07816)210 648 A
  7944. 1362({)S
  7945. (hwint14,)336 1446 A
  7946. (VECTOR(14),)462 1824 A
  7947. (INTR_PRIVILEGE)588 2328 A
  7948. 2958(},)S
  7949. 1080 V
  7950. (07817)210 648 A
  7951. 1362({)S
  7952. (hwint15,)336 1446 A
  7953. (VECTOR(15),)462 1824 A
  7954. (INTR_PRIVILEGE)588 2328 A
  7955. 2958(},)S
  7956. 1170 V
  7957. (07818)210 648 A
  7958. 1110(};)S
  7959. 1260 V
  7960. (07819)210 648 A
  7961. 1350 V
  7962. (07820)210 648 A
  7963. 1110(/*)S
  7964. (This)168 1236 A
  7965. 1446(is)S
  7966. (called)252 1572 A
  7967. (early)210 1866 A
  7968. (and)126 2118 A
  7969. (can't)210 2286 A
  7970. (use)126 2538 A
  7971. (tables)252 2706 A
  7972. (set)126 3000 A
  7973. 3168(up)S
  7974. 3294(by)S
  7975. (main().)294 3420 A
  7976. 3756(*/)S
  7977. 1440 V
  7978. (07821)210 648 A
  7979. (data_bytes)420 1110 A
  7980. 1572(=)S
  7981. ((phys_bytes))504 1656 A
  7982. (sizes[1])336 2202 A
  7983. 2580(<<)S
  7984. (CLICK_SHIFT;)504 2706 A
  7985. 1530 V
  7986. (07822)210 648 A
  7987. 1110(if)S
  7988. ((sizes[0])378 1236 A
  7989. 1656(==)S
  7990. 1782(0))S
  7991. 1620 V
  7992. (07823)210 648 A
  7993. (code_bytes)420 1362 A
  7994. 1824(=)S
  7995. (data_bytes;)462 1908 A
  7996. 2706(/*)S
  7997. (common)252 2832 A
  7998. (I&D)126 3126 A
  7999. 3294(*/)S
  8000. 1710 V
  8001. (07824)210 648 A
  8002. (else)168 1110 A
  8003. 1800 V
  8004. (07825)210 648 A
  8005. (code_bytes)420 1362 A
  8006. 1824(=)S
  8007. ((phys_bytes))504 1908 A
  8008. (sizes[0])336 2454 A
  8009. 2832(<<)S
  8010. (CLICK_SHIFT;)504 2958 A
  8011. 1890 V
  8012. (07826)210 648 A
  8013. 1980 V
  8014. (07827)210 648 A
  8015. 1110(/*)S
  8016. (Build)210 1236 A
  8017. (gdt)126 1488 A
  8018. (and)126 1656 A
  8019. (idt)126 1824 A
  8020. (pointers)336 1992 A
  8021. 2370(in)S
  8022. (GDT)126 2496 A
  8023. (where)210 2664 A
  8024. (the)126 2916 A
  8025. (BIOS)168 3084 A
  8026. (expects)294 3294 A
  8027. (them.)210 3630 A
  8028. 3882(*/)S
  8029. 2070 V
  8030. (07828)210 648 A
  8031. (dtp=)168 1110 A
  8032. ((struct)294 1320 A
  8033. (desctableptr_s)588 1656 A
  8034. 2286(*))S
  8035. (&gdt[GDT_INDEX];)672 2412 A
  8036. 2160 V
  8037. (07829)210 648 A
  8038. 1110(*)S
  8039. ((u16_t)252 1194 A
  8040. 1488(*))S
  8041. (dtp->limit)420 1614 A
  8042. 2076(=)S
  8043. ((sizeof)294 2160 A
  8044. (gdt))168 2496 A
  8045. 2706(-)S
  8046. 2790(1;)S
  8047. 2250 V
  8048. (07830)210 648 A
  8049. 1110(*)S
  8050. ((u32_t)252 1194 A
  8051. 1488(*))S
  8052. (dtp->base)378 1614 A
  8053. 2034(=)S
  8054. (vir2phys(gdt);)588 2118 A
  8055. 2340 V
  8056. (07831)210 648 A
  8057. 2430 V
  8058. (07832)210 648 A
  8059. (dtp=)168 1110 A
  8060. ((struct)294 1320 A
  8061. (desctableptr_s)588 1656 A
  8062. 2286(*))S
  8063. (&gdt[IDT_INDEX];)672 2412 A
  8064. 2520 V
  8065. (07833)210 648 A
  8066. 1110(*)S
  8067. ((u16_t)252 1194 A
  8068. 1488(*))S
  8069. (dtp->limit)420 1614 A
  8070. 2076(=)S
  8071. ((sizeof)294 2160 A
  8072. (idt))168 2496 A
  8073. 2706(-)S
  8074. 2790(1;)S
  8075. 2610 V
  8076. (07834)210 648 A