⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 traps.c

📁 linux0.11 version(301k)
💻 C
📖 第 1 页 / 共 2 页
字号:
 <a name=L95 href="source/kernel/traps.c#L95">95</a> } <a name=L96 href="source/kernel/traps.c#L96">96</a>  <a name=L97 href="source/kernel/traps.c#L97">97</a> void <a href="ident?i=do_divide_error">do_divide_error</a>(long esp, long error_code) <a name=L98 href="source/kernel/traps.c#L98">98</a> { <a name=L99 href="source/kernel/traps.c#L99">99</a>         <a href="ident?i=die">die</a>(<i>"divide error"</i>,esp,error_code);<a name=L100 href="source/kernel/traps.c#L100">100</a> }<a name=L101 href="source/kernel/traps.c#L101">101</a> <a name=L102 href="source/kernel/traps.c#L102">102</a> void <a href="ident?i=do_int3">do_int3</a>(long * esp, long error_code,<a name=L103 href="source/kernel/traps.c#L103">103</a>                 long fs,long es,long ds,<a name=L104 href="source/kernel/traps.c#L104">104</a>                 long ebp,long esi,long edi,<a name=L105 href="source/kernel/traps.c#L105">105</a>                 long edx,long ecx,long ebx,long eax)<a name=L106 href="source/kernel/traps.c#L106">106</a> {<a name=L107 href="source/kernel/traps.c#L107">107</a>         int tr;<a name=L108 href="source/kernel/traps.c#L108">108</a> <a name=L109 href="source/kernel/traps.c#L109">109</a>         __asm__(<i>"str %%ax"</i>:<i>"=a"</i> (tr):<i>""</i> (0));<a name=L110 href="source/kernel/traps.c#L110">110</a>         <a href="ident?i=printk">printk</a>(<i>"eax\t\tebx\t\tecx\t\tedx\n\r%8x\t%8x\t%8x\t%8x\n\r"</i>,<a name=L111 href="source/kernel/traps.c#L111">111</a>                 eax,ebx,ecx,edx);<a name=L112 href="source/kernel/traps.c#L112">112</a>         <a href="ident?i=printk">printk</a>(<i>"esi\t\tedi\t\tebp\t\tesp\n\r%8x\t%8x\t%8x\t%8x\n\r"</i>,<a name=L113 href="source/kernel/traps.c#L113">113</a>                 esi,edi,ebp,(long) esp);<a name=L114 href="source/kernel/traps.c#L114">114</a>         <a href="ident?i=printk">printk</a>(<i>"\n\rds\tes\tfs\ttr\n\r%4x\t%4x\t%4x\t%4x\n\r"</i>,<a name=L115 href="source/kernel/traps.c#L115">115</a>                 ds,es,fs,tr);<a name=L116 href="source/kernel/traps.c#L116">116</a>         <a href="ident?i=printk">printk</a>(<i>"EIP: %8x   CS: %4x  EFLAGS: %8x\n\r"</i>,esp[0],esp[1],esp[2]);<a name=L117 href="source/kernel/traps.c#L117">117</a> }<a name=L118 href="source/kernel/traps.c#L118">118</a> <a name=L119 href="source/kernel/traps.c#L119">119</a> void <a href="ident?i=do_nmi">do_nmi</a>(long esp, long error_code)<a name=L120 href="source/kernel/traps.c#L120">120</a> {<a name=L121 href="source/kernel/traps.c#L121">121</a>         <a href="ident?i=die">die</a>(<i>"nmi"</i>,esp,error_code);<a name=L122 href="source/kernel/traps.c#L122">122</a> }<a name=L123 href="source/kernel/traps.c#L123">123</a> <a name=L124 href="source/kernel/traps.c#L124">124</a> void <a href="ident?i=do_debug">do_debug</a>(long esp, long error_code)<a name=L125 href="source/kernel/traps.c#L125">125</a> {<a name=L126 href="source/kernel/traps.c#L126">126</a>         <a href="ident?i=die">die</a>(<i>"debug"</i>,esp,error_code);<a name=L127 href="source/kernel/traps.c#L127">127</a> }<a name=L128 href="source/kernel/traps.c#L128">128</a> <a name=L129 href="source/kernel/traps.c#L129">129</a> void <a href="ident?i=do_overflow">do_overflow</a>(long esp, long error_code)<a name=L130 href="source/kernel/traps.c#L130">130</a> {<a name=L131 href="source/kernel/traps.c#L131">131</a>         <a href="ident?i=die">die</a>(<i>"overflow"</i>,esp,error_code);<a name=L132 href="source/kernel/traps.c#L132">132</a> }<a name=L133 href="source/kernel/traps.c#L133">133</a> <a name=L134 href="source/kernel/traps.c#L134">134</a> void <a href="ident?i=do_bounds">do_bounds</a>(long esp, long error_code)<a name=L135 href="source/kernel/traps.c#L135">135</a> {<a name=L136 href="source/kernel/traps.c#L136">136</a>         <a href="ident?i=die">die</a>(<i>"bounds"</i>,esp,error_code);<a name=L137 href="source/kernel/traps.c#L137">137</a> }<a name=L138 href="source/kernel/traps.c#L138">138</a> <a name=L139 href="source/kernel/traps.c#L139">139</a> void <a href="ident?i=do_invalid_op">do_invalid_op</a>(long esp, long error_code)<a name=L140 href="source/kernel/traps.c#L140">140</a> {<a name=L141 href="source/kernel/traps.c#L141">141</a>         <a href="ident?i=die">die</a>(<i>"invalid operand"</i>,esp,error_code);<a name=L142 href="source/kernel/traps.c#L142">142</a> }<a name=L143 href="source/kernel/traps.c#L143">143</a> <a name=L144 href="source/kernel/traps.c#L144">144</a> void <a href="ident?i=do_device_not_available">do_device_not_available</a>(long esp, long error_code)<a name=L145 href="source/kernel/traps.c#L145">145</a> {<a name=L146 href="source/kernel/traps.c#L146">146</a>         <a href="ident?i=die">die</a>(<i>"device not available"</i>,esp,error_code);<a name=L147 href="source/kernel/traps.c#L147">147</a> }<a name=L148 href="source/kernel/traps.c#L148">148</a> <a name=L149 href="source/kernel/traps.c#L149">149</a> void <a href="ident?i=do_coprocessor_segment_overrun">do_coprocessor_segment_overrun</a>(long esp, long error_code)<a name=L150 href="source/kernel/traps.c#L150">150</a> {<a name=L151 href="source/kernel/traps.c#L151">151</a>         <a href="ident?i=die">die</a>(<i>"coprocessor segment overrun"</i>,esp,error_code);<a name=L152 href="source/kernel/traps.c#L152">152</a> }<a name=L153 href="source/kernel/traps.c#L153">153</a> <a name=L154 href="source/kernel/traps.c#L154">154</a> void <a href="ident?i=do_invalid_TSS">do_invalid_TSS</a>(long esp,long error_code)<a name=L155 href="source/kernel/traps.c#L155">155</a> {<a name=L156 href="source/kernel/traps.c#L156">156</a>         <a href="ident?i=die">die</a>(<i>"invalid TSS"</i>,esp,error_code);<a name=L157 href="source/kernel/traps.c#L157">157</a> }<a name=L158 href="source/kernel/traps.c#L158">158</a> <a name=L159 href="source/kernel/traps.c#L159">159</a> void <a href="ident?i=do_segment_not_present">do_segment_not_present</a>(long esp,long error_code)<a name=L160 href="source/kernel/traps.c#L160">160</a> {<a name=L161 href="source/kernel/traps.c#L161">161</a>         <a href="ident?i=die">die</a>(<i>"segment not present"</i>,esp,error_code);<a name=L162 href="source/kernel/traps.c#L162">162</a> }<a name=L163 href="source/kernel/traps.c#L163">163</a> <a name=L164 href="source/kernel/traps.c#L164">164</a> void <a href="ident?i=do_stack_segment">do_stack_segment</a>(long esp,long error_code)<a name=L165 href="source/kernel/traps.c#L165">165</a> {<a name=L166 href="source/kernel/traps.c#L166">166</a>         <a href="ident?i=die">die</a>(<i>"stack segment"</i>,esp,error_code);<a name=L167 href="source/kernel/traps.c#L167">167</a> }<a name=L168 href="source/kernel/traps.c#L168">168</a> <a name=L169 href="source/kernel/traps.c#L169">169</a> void <a href="ident?i=do_coprocessor_error">do_coprocessor_error</a>(long esp, long error_code)<a name=L170 href="source/kernel/traps.c#L170">170</a> {<a name=L171 href="source/kernel/traps.c#L171">171</a>         if (<a href="ident?i=last_task_used_math">last_task_used_math</a> != <a href="ident?i=current">current</a>)<a name=L172 href="source/kernel/traps.c#L172">172</a>                 return;<a name=L173 href="source/kernel/traps.c#L173">173</a>         <a href="ident?i=die">die</a>(<i>"coprocessor error"</i>,esp,error_code);<a name=L174 href="source/kernel/traps.c#L174">174</a> }<a name=L175 href="source/kernel/traps.c#L175">175</a> <a name=L176 href="source/kernel/traps.c#L176">176</a> void <a href="ident?i=do_reserved">do_reserved</a>(long esp, long error_code)<a name=L177 href="source/kernel/traps.c#L177">177</a> {<a name=L178 href="source/kernel/traps.c#L178">178</a>         <a href="ident?i=die">die</a>(<i>"reserved (15,17-47) error"</i>,esp,error_code);<a name=L179 href="source/kernel/traps.c#L179">179</a> }<a name=L180 href="source/kernel/traps.c#L180">180</a> <a name=L181 href="source/kernel/traps.c#L181">181</a> void <a href="ident?i=trap_init">trap_init</a>(void)<a name=L182 href="source/kernel/traps.c#L182">182</a> {<a name=L183 href="source/kernel/traps.c#L183">183</a>         int i;<a name=L184 href="source/kernel/traps.c#L184">184</a> <a name=L185 href="source/kernel/traps.c#L185">185</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(0,&amp;<a href="ident?i=divide_error">divide_error</a>);<a name=L186 href="source/kernel/traps.c#L186">186</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(1,&amp;<a href="ident?i=debug">debug</a>);<a name=L187 href="source/kernel/traps.c#L187">187</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(2,&amp;<a href="ident?i=nmi">nmi</a>);<a name=L188 href="source/kernel/traps.c#L188">188</a>         <a href="ident?i=set_system_gate">set_system_gate</a>(3,&amp;<a href="ident?i=int3">int3</a>);       <b><i>/* int3-5 can be called from all */</i></b><a name=L189 href="source/kernel/traps.c#L189">189</a>         <a href="ident?i=set_system_gate">set_system_gate</a>(4,&amp;<a href="ident?i=overflow">overflow</a>);<a name=L190 href="source/kernel/traps.c#L190">190</a>         <a href="ident?i=set_system_gate">set_system_gate</a>(5,&amp;<a href="ident?i=bounds">bounds</a>);<a name=L191 href="source/kernel/traps.c#L191">191</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(6,&amp;<a href="ident?i=invalid_op">invalid_op</a>);<a name=L192 href="source/kernel/traps.c#L192">192</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(7,&amp;<a href="ident?i=device_not_available">device_not_available</a>);<a name=L193 href="source/kernel/traps.c#L193">193</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(8,&amp;<a href="ident?i=double_fault">double_fault</a>);<a name=L194 href="source/kernel/traps.c#L194">194</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(9,&amp;<a href="ident?i=coprocessor_segment_overrun">coprocessor_segment_overrun</a>);<a name=L195 href="source/kernel/traps.c#L195">195</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(10,&amp;<a href="ident?i=invalid_TSS">invalid_TSS</a>);<a name=L196 href="source/kernel/traps.c#L196">196</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(11,&amp;<a href="ident?i=segment_not_present">segment_not_present</a>);<a name=L197 href="source/kernel/traps.c#L197">197</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(12,&amp;<a href="ident?i=stack_segment">stack_segment</a>);<a name=L198 href="source/kernel/traps.c#L198">198</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(13,&amp;<a href="ident?i=general_protection">general_protection</a>);<a name=L199 href="source/kernel/traps.c#L199">199</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(14,&amp;<a href="ident?i=page_fault">page_fault</a>);<a name=L200 href="source/kernel/traps.c#L200">200</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(15,&amp;<a href="ident?i=reserved">reserved</a>);<a name=L201 href="source/kernel/traps.c#L201">201</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(16,&amp;<a href="ident?i=coprocessor_error">coprocessor_error</a>);<a name=L202 href="source/kernel/traps.c#L202">202</a>         for (i=17;i&lt;48;i++)<a name=L203 href="source/kernel/traps.c#L203">203</a>                 <a href="ident?i=set_trap_gate">set_trap_gate</a>(i,&amp;<a href="ident?i=reserved">reserved</a>);<a name=L204 href="source/kernel/traps.c#L204">204</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(45,&amp;<a href="ident?i=irq13">irq13</a>);<a name=L205 href="source/kernel/traps.c#L205">205</a>         <a href="ident?i=outb_p">outb_p</a>(<a href="ident?i=inb_p">inb_p</a>(0x21)&amp;0xfb,0x21);<a name=L206 href="source/kernel/traps.c#L206">206</a>         <a href="ident?i=outb">outb</a>(<a href="ident?i=inb_p">inb_p</a>(0xA1)&amp;0xdf,0xA1);<a name=L207 href="source/kernel/traps.c#L207">207</a>         <a href="ident?i=set_trap_gate">set_trap_gate</a>(39,&amp;<a href="ident?i=parallel_interrupt">parallel_interrupt</a>);<a name=L208 href="source/kernel/traps.c#L208">208</a> }<a name=L209 href="source/kernel/traps.c#L209">209</a> </pre><hr><div align=center>   [<b><i>源代码浏览</i></b>] [<a href="diff/kernel/traps.c">区别标定</a>] [<a href="ident">标识符搜索</a>] [<a href="search">文本搜索</a>] [<a href="find">文件搜索</a>] </div><hr>本网页由 <a href="http:blurb.html">LXR引擎</a> 自动生成.<br></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -